文章目录
引言:
对于java中,使用日志,估计大多数人一听就是很懵逼。认识比较片面,而且对于各种概念很模糊。尤其是对于日志的最佳实践,充满着各种稀奇古怪的习惯。本文,借助Spring-boot 集成主流java日志框架,logback和log4j2,给大家做一个简单的示例。
先有一个直观的代码印象,如果大家有兴趣想要更深地了解日志的最佳实践。请移步我的另一篇博客《Java专家之路(六)—日志知识体系的总结–以java程序中的日志为例》
想随意切换,集成主流java日志框架的实现?
这个需求,实现很简单,依赖并使用日志门面框架slf4J进行编程,而不是依赖具体的日志框架。如:logback、log4j、log4j2等
想在不同环境,使用不同的日志配置 ?
spring-boot提供了一种很简单的日志配置标签< springProfile >,支持多环境的日志配置。如下所示
<!-- 测试环境 -->
<springProfile name="test">
<!-- 每天产生一个文件 -->
<appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路径 -->
<file>${TEST_FILE_PATH}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件名称 -->
<fileNamePattern>${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 文件最大保存历史数量 -->
<MaxHistory>100</MaxHistory>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${PATTERN}</pattern>
</layout>
</appender>
<root level="info">
<appender-ref ref="TEST-FILE" />
</root>
</springProfile>
<!-- 生产环境 -->
<springProfile name="