1.简介
上一篇洪哥介绍了如何使用日志输出到控制台,但是如果需要发给相关的人,就需要复制出来,有时候由于控制台窗口的原因,但是有些日志无法查看,所以还是需要将日志输出到文件,所以今天主要介绍和分享如何将日志输出到文件。
上一篇的测试环境已经准备好了,今天我们直接进入正题开始练习吧。
2.项目实战2.1日志输出到文件
1.新建.xml或-test.xml(高优先级)在文件中添加以下内容:
2..xml 参考代码
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="fileAppender" class="ch.qos.logback.core.FileAppender"> <file>./hg_logs/bjhg.log</file> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern> </encoder> <append>true</append> <prudent>false</prudent> </appender> <logger name="testSuites.TestLogback" level="INFO"> <appender-ref ref="fileAppender" /> </logger> <root level="DEBUG"> <appender-ref ref="fileAppender" /> </root> </configuration>
3.新建一个测试类:并将测试日志输出到文件中。洪哥继续用上一篇的测试类。
2.2 运行代码
1.运行代码,右键Run AS->Java,控制台输出,如下图:
2.运行代码后打开日志文件,如下图:
2.3 输出日志到文件(滚动)
在实际生产中,每天都会产生大量的日志,单个file()已经不能满足要求。继承并提供更多功能:
(1)每天生成一个日志文件
(2)重命名前一天的日志以包含日期格式
(3)根据需要删除过期的历史日志
1.将以下内容添加到新的 .xml 或 -test.xml(高优先级)文件中:
2..xml 参考代码
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="rollingAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>./hg_logs/bjhg.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>./hg_logs/bjhg-%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern> </encoder> <append>false</append> <prudent>false</prudent> </appender> <logger name="testSuites.TestLogback" level="INFO"> <appender-ref ref="rollingAppender" /> </logger> <root level="DEBUG"> <appender-ref ref="rollingAppender" /> </root> </configuration>
3.新建一个测试类:,将测试日志输出到文件中。鸿哥会继续使用上一篇的测试类。
2.4 运行代码
1.运行代码,右键Run AS->Java,控制台输出,如下图:
2.运行代码然后打开日志文件,如下图:
3.总结
1.没有日期输出这是因为它只会在第二天输出。如果你想在同一天看到,那就把你的电脑时间改成明天,然后运行代码。
2.修改时间如果还是不行,请检查你的xml文件中是否配置了文件大小。如果是这样,只需将其注释掉。
好了,事不宜迟,今天就分享到这里,希望对你有帮助,感谢你的耐心阅读!
暂无评论内容