概述
由于logback性能优,加载速度快,且能自动清理和压缩等优点。记录一下个人在使用时配置。
1、去掉pom.xml中所有的log4j2相关的引用(否则配置不生效)
2、配置logback.xml文件
<?xml version="1.0" encoding="utf-8"?>
<!--级别从高到低 OFF -> FATAL -> ERROR -> WARN ->INFO -> DEBUG ->TRACE -> ALL -->
<!--日志输出规则,根据root配置级别,日志输出时,级别高于root的级别时才会输出-->
<!--配置每个filter 过滤掉输出文件里面,会出现高级别日志-》低级别的日志,通过filter配置日志输出级别,-->
<!--scan属性为true时,当配置文件发生改变,将会被重新加载,默认为true
scanPeriod设置检测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认是毫秒,当scan为true时,此属性生效。默认时间为1分钟
debug 当此属性为true时,将打印出logback内部日志信息,实时查看logback运行状态,默认为false-->
<configuration scan="true" scanPeriod = "60 seconds" debug = "false">
<!--动态日志级别-->
<jmxConfigurator/>
<!--定义日志文件输出位置-->
<property name="log_dir" value="E:/logs/imoslog/ICM"/>
<!--<property name="log_dir" value="/var/log/imoslog/ICM"/>-->
<!--日志输出格式-->
<property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n "/>
<!--控制台日志输出格式-->
<property name="debug.log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %boldYellow(%thread) %boldGreen(%logger{50}-%msg%n)"/>
<!--ConsoleAppends控制台输出日志-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${debug.log.pattern}</pattern>
</encoder>
</appender>
<!--ERROR级别日志-->
<!--滚动记录日志文件,将日志记录到日志文件-->
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--过滤器,日志级别等于配置的级别时会根据onMatch 和 onMismatch 接受或拒绝日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<!--滚动策略,最常用的就是根据时间来制定滚动策略,触发滚动-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志输出位置,按天滚动并压缩-->
<fileNamePattern>${log_dir}/info/info.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<!--可选节点,控制保留的归档文件的最大数量,查出数量就删除旧文件-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" >
<maxFileSize>20MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志最大留存期-->
<maxHistory>360</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<!--INFO级别日志-->
<!--滚动记录日志文件,将日志记录到日志文件-->
<appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--过滤器,日志级别等于配置的级别时会根据onMatch 和 onMismatch 接受或拒绝日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<!--滚动策略,最常用的就是根据时间来制定滚动策略,触发滚动-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志输出位置,按天滚动并压缩-->
<fileNamePattern>${log_dir}/error/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<!--可选节点,控制保留的归档文件的最大数量,查出数量就删除旧文件-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" >
<maxFileSize>20MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志最大留存期-->
<maxHistory>360</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="console"/>
<appender-ref ref="INFO" />
<appender-ref ref="ERROR" />
</root>
</configuration>
3、application.properties配置
logging.config=classpath:spring-logback.xml
4、日志打印
private final static Logger logger = LoggerFactory.getLogger(StudyApplication.class);
public static void main(String[] args) {
logger.info("项目启动......................");
SpringApplication.run(StudyApplication.class, args);
logger.info("项目运行中......................");
}
最后
以上就是明理咖啡为你收集整理的sl4j日志配置的全部内容,希望文章能够帮你解决sl4j日志配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复