文章目录
log4j2 的使用
Log4j2:一个日志管理工具。Log4j的升级版,需要Java6以上
1:pom.xml添加log4j2所需要的依赖
<!--log4j2依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
2:在resource文件夹下面添加 log4j2.xml 配置文件
定义配置文件
Log4j支持两种配置文件格式,一种是XML(标准通用标记语言下的一个应用)格式的文件,一种是Java特性文件log4j.properties(键=值)。
Appenders:
Console: #输出到控制台
name: CONSOLE #Appender命名
target: SYSTEM_OUT
PatternLayout:
pattern: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%logger{36}-%M] - %msg%n"
RollingFile: # 输出到文件,超过256MB归档
- name: ROLLING_FILE
ignoreExceptions: false
fileName: /logs/deco.log
#filePattern: "/logs/${date:yyyy-MM}/deco-%d{yyyy-MM-dd}-%i.log"
filePattern: "/logs/deco-%d{yyyy-MM-dd}-%i.log"
PatternLayout:
pattern: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%logger{36}-%M] - %msg%n"
Policies:
SizeBasedTriggeringPolicy:
#size: "20 MB"
size: "200 MB"
DefaultRolloverStrategy:
max: 1000
delete: #指定删除策略
basePath: /logs #日志文件的父目录
ifFileName:
glob: "deco*.log" #正则匹配日志文件
ifLastModified:
age: 14d
Loggers:
Root:
level: info
AppenderRef:
- ref: CONSOLE
- ref: ROLLING_FILE
Logger: #单独设置某些包的输出级别
- name: com.xc.deco #复数加上-(这里我设置的是包的根路径的包名)
additivity: false #去除重复的log
level: info
AppenderRef:
- ref: CONSOLE #复数加上-
- ref: ROLLING_FILE #复数加上-
3:在application.yml里添加一些日志配置
logging.level等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO、WARN、ERROR的log信息,而DEBUG信息不会被显示
logging:
level:
com.xc.deco: info
file:
name: /home/xc/deco/log/deco.log
max-history: 30
4:如果需要部署到服务器上,需要找到deploy文件(网络映射文件)映射对应的日志文件地址
5:最后就可以在你配置的deploy映射文件路径下看到你的日志文件了
6:查看日志文件里的日志
这里可以看到日志级别是INFO,因为我们设置的日志级别就是默认INFO