说明
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>
再次测试,会将日志文件清空,然后在将日志输出到文件中
