使用 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() 输出的日志保存到文件中,方便进行日志管理和分析。

使用 Logback 将 Java 中的 System.out.println() 日志保存到文件

原文地址: https://www.cveoy.top/t/topic/oLan 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录