首页 > 编程知识 正文

log4j配置按日期生成日志文件,log4j写多个日志

时间:2023-05-04 13:55:38 阅读:167518 作者:672

1. POM文件配置! springboot的默认logback依赖项--dependencygroupidorg.spring framework.boot/groupidartifactidspring-boot-starter /。 art ification versionexclusionsexclusiongroupidorg.spring framework.boot/groupidartifactidspring-boot-starter-logging artifactinitiaty spring boot-log4j starter依赖--- dependencygroupidorg.spring framework.boot/引入groupidartifactidspring-boot-starter-artifactidversion1.3.8. release/version/dependency2. log4j.propertidvertion appender2log4j.appender.appender1=org.Apache.log4j.console appender log4j.appender.appender1. layout=org.appache % c % x-% m % n log4j.appender.appender2=org.Apache.log4j.file appender log4j.appender.appender2. file=test apast

3 .代码应用

此时启动项目时,控制台将显示以下日志:

发现控制台只输出info级别的日志。 这是因为您是在log4j.properties配置文件中配置的

log4j.rootLogger=INFO,Appender1,Appender2

其中,INFO表示日志输出级别,因此将其更改为

log4j.rootLogger=DEBUG,Appender1,Appender2

重新运行程序时,控制台的输出如下所示。

我们打印的info和调试级别的日志都输出了,但是随之而来的是很多框架中的调试日志,这非常影响我们的开发效率,所以根据不同的包配置不同的日志输出级别比如sprogram 我们输出了info或者error级别的日志,发现需要我们开发的代码。那么该怎么配置呢?

在log4j.properties配置文件中:

可以理解为# rootLogger根日志。 如果未为其他程序包设置单独的日志级别,则缺省情况下所有程序包都将在此级别打印日志。 可以按以下格式添加log4j.rootLogger=debug、Appender1和Appender2定制软件包的日志级别配置:

# XXX是程序包名称,level是日志级别log4j.logger.XXX=level的配置例如:

log4j.rootLogger=debug,Appender1,appender2log4j.logger.com.rising.testlog=debug我们的主程序是com.rising.Tet

此时,您将看到日志按预期的方式输出,Spring框架日志只输出info级别的日志,而您定义的" com.rising.testlog "包将输出调试级别的日志。

4 .使用log更优雅的上述配置要求在所有需要使用log的类中添加以下代码行:

privatestaticloggerlog=logger factory.getlogger (XXX.class ); 有更简单的方法吗?

是的,那是评论@SLF4J

4.14.1.1使用POM文件dependencygroupidorg.project lombok/groupidartifactidlombok/artifactidversion1. 18.6/version

我们使用privatestaticloggerlog=logger factory.getlogger (testlog application.class ); 删除代码注释,在类中填写@SLF4j注释即可(注: @SLF4j默认导入名为log的日志对象,所以直接使用log.info )| log.debug ) )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。