使用 Logback 将 Java 中的 System.out.println() 日志保存到文件
使用 Logback 将 Java 中的 System.out.println() 日志保存到文件
本文介绍如何使用 Logback 将 Java 代码中 System.out.println() 输出到控制台的日志保存到文件,包括添加 Logback 依赖、配置 logback.xml 文件,以及使用 Logback 的 Logger 输出日志。
1. 添加 Logback 依赖
在项目中添加 Logback 依赖,例如使用 Maven:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
2. 配置 logback.xml 文件
在 src/main/resources 目录下创建 logback.xml 文件,例如:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/myapp.log</file>
<append>true</append>
<encoder>
<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
3. 使用 Logback 的 Logger 输出日志
在 Java 代码中使用 Logback 的 Logger 输出日志,例如:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyClass {
private static final Logger LOGGER = LoggerFactory.getLogger(MyClass.class);
public static void main(String[] args) {
LOGGER.info("Hello World!");
}
}
4. 将 System.out.println() 输出到文件
如果想要将 System.out.println() 输出到控制台的日志也保存到文件中,可以使用 System.setOut() 方法将输出流重定向到 Logback 的 Logger 输出流中,例如:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.PrintStream;
public class MyClass {
private static final Logger LOGGER = LoggerFactory.getLogger(MyClass.class);
public static void main(String[] args) {
System.setOut(new PrintStream(new LoggingOutputStream(LOGGER, LogLevel.INFO)));
System.out.println("Hello World!");
}
}
其中,LoggingOutputStream 是一个自定义的输出流,可以将输出的内容写入 Logback 的 Logger 中。
注意: LoggingOutputStream 需要自己实现。
总结
通过以上步骤,就可以将 Java 代码中 System.out.println() 输出的日志保存到文件中,方便进行日志管理和分析。
原文地址: https://www.cveoy.top/t/topic/oLan 著作权归作者所有。请勿转载和采集!