由于logback性能优,加载速度快,且能自动清理和压缩等优点。记录一下个人在使用时配置。
1、去掉pom.xml中所有的log4j2相关的引用(否则配置不生效)
2、配置logback.xml文件
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83<?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配置
复制代码
1
2logging.config=classpath:spring-logback.xml
4、日志打印
复制代码
1
2
3
4
5
6private 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日志配置内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复