Logback Appender-FileAppender输出到文件例子

说明

FileAppender 策略将日志输出到文件中。在真实项目中,使用较少,这里只是为了入门 输出到文件

有2种生成日志方式:

  • 日志 追加到 文件末尾,当日志越来越多时,文件会无限大。项目中不可用
  • 每次启动,会将 日志文件清空。会丢失之前的日志,项目中不可用

修改 logback.xml

内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>
    <!--
        name:自定义,
        class:加载指定类(ch.qos.logback.core.FileAppender 类会将日志输出到文件中)
    -->
    <appender name="fileAppender"
              class="ch.qos.logback.core.FileAppender">
        <!-- 把日志文件输出到:项目目录下的log文件夹(无则自动创建)下 -->
        <file>log/logFile.log</file>
        <encoder>
            <!-- 日志输出格式 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%L- %msg%n</pattern>
            <!-- 日志编码 -->
            <charset class="java.nio.charset.Charset">UTF-8</charset>
        </encoder>
        <!-- true:日志追加到文件末尾。false:先清空文件。默认为true -->
        <append>true</append>
    </appender>

    <!--
        root:logger的根节点,appender-ref:确定使用哪个appender
        level:对整体设置级别,该级别不会影响
        注:如果不指定配置此项,logback不生效
    -->
    <root level="info">
        <appender-ref ref="fileAppender" />
    </root>
</configuration>

测试类

public class Main {
    static final Logger log= LoggerFactory.getLogger(Main.class);

    public static void main(String[] args) {
        String content="hello world!";
        log.trace("trace级别:: {}",content);
        log.debug("debug级别:: {}",content);
        log.info("info级别:: {}",content);
        log.warn("warn级别:: {}",content);
        log.error("error级别:: {}",content);

//        Mapper.test();
    }
}

测试

执行后 在工程下生成目录 和 文件,如下:

多次测试

多次执行程序,日志会追加到文件末尾

将 append 改为 false

将 <append>true</append> 改为 <append>false</append>

再次测试,会将日志文件清空,然后在将日志输出到文件中


原文出处:/show_1IX31L2RsOGl.html