log4j2 properties根据不同等级输出不同文件
时间: 2023-10-25 10:07:26 浏览: 52
可以通过配置log4j2.properties文件来根据不同的日志等级输出到不同的文件中。具体的配置方法如下:
1. 首先在log4j2.properties文件中定义需要输出的logger名称和日志级别,例如:
```
# 输出INFO级别及以上日志到info.log文件中
logger.info.name=infoLogger
logger.info.level=info
logger.info.appenderRef.info.ref=infoFile
# 输出ERROR级别及以上日志到error.log文件中
logger.error.name=errorLogger
logger.error.level=error
logger.error.appenderRef.error.ref=errorFile
```
2. 然后定义需要输出的appender,例如:
```
# 输出INFO级别及以上日志到info.log文件中
appender.infoFile.type = RollingFile
appender.infoFile.name = infoFile
appender.infoFile.fileName = logs/info.log
appender.infoFile.filePattern = logs/$${date:yyyy-MM}/info-%d{MM-dd-yyyy}-%i.log.gz
appender.infoFile.layout.type = PatternLayout
appender.infoFile.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n
appender.infoFile.policies.type = Policies
appender.infoFile.policies.time.type = TimeBasedTriggeringPolicy
appender.infoFile.policies.time.interval = 1
appender.infoFile.policies.time.modulate = true
appender.infoFile.policies.size.type = SizeBasedTriggeringPolicy
appender.infoFile.policies.size.size = 10MB
appender.infoFile.strategy.type = DefaultRolloverStrategy
appender.infoFile.strategy.max = 20
```
```
# 输出ERROR级别及以上日志到error.log文件中
appender.errorFile.type = RollingFile
appender.errorFile.name = errorFile
appender.errorFile.fileName = logs/error.log
appender.errorFile.filePattern = logs/$${date:yyyy-MM}/error-%d{MM-dd-yyyy}-%i.log.gz
appender.errorFile.layout.type = PatternLayout
appender.errorFile.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n
appender.errorFile.policies.type = Policies
appender.errorFile.policies.time.type = TimeBasedTriggeringPolicy
appender.errorFile.policies.time.interval = 1
appender.errorFile.policies.time.modulate = true
appender.errorFile.policies.size.type = SizeBasedTriggeringPolicy
appender.errorFile.policies.size.size = 10MB
appender.errorFile.strategy.type = DefaultRolloverStrategy
appender.errorFile.strategy.max = 20
```
以上配置中,分别定义了两个RollingFile类型的appender,分别输出到info.log和error.log文件中,每天生成一个新的日志文件,最多保留20个日志文件,每个日志文件最大为10MB。
3. 最后需要将logger和appender进行关联,例如:
```
# 将infoLogger关联到infoFile appender
logger.info.additivity = false
logger.info.appenderRef.info.ref = infoFile
# 将errorLogger关联到errorFile appender
logger.error.additivity = false
logger.error.appenderRef.error.ref = errorFile
```
以上配置中,将infoLogger和errorLogger分别关联到infoFile和errorFile appender中。
通过以上配置,就可以实现根据不同的日志等级输出到不同的文件中。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)