log4j2文件配置

Posted 全栈那点事儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j2文件配置相关的知识,希望对你有一定的参考价值。

小伙伴们,你们用过spring中的日志系统吗?我用的日志系统是log4j2,我把配置文件记录分享给大家

log4j2配置文件详情如下

<?xml version="1.0" encoding="UTF-8"?><!-- log4j2配置文件与log4j(1.x版本)有很大不同 --><!-- status 日志级别, TRACE < DEBUG < INFO < WARN < ERROR < FATAL --><!-- monitorInterval 每隔300秒重新读取配置文件, 可以不重启应用的情况下修改配置 --><Configuration status="DEBUG" monitorInterval="300"> <Properties> <property name="LOG_PATH">/tt/app/comhensive/logs</property> <Property name="LOG_LAYOUT">%-5p [%d{yyyy-MM-dd HH:mm:ss}] %t [%c:%L] - %m%n</Property> </Properties>

<Appenders> <!-- 控制台 --> <Console name="console" target="SYSTEM_OUT"> <encoder> <!--字符编码--> <charset>UTF-8</charset><!--此处设置字符集--> </encoder> <PatternLayout pattern="${LOG_LAYOUT}" /> </Console> <RollingFile name="file_root" fileName="${LOG_PATH}/root.log" filePattern="${LOG_PATH}/$${date:yyyy-MM-dd}/root-%d{yyyy-MM-dd}-%i.log"> <PatternLayout> <Pattern>${LOG_LAYOUT}</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy /> <!-- 指定当文件体积大于size指定的值时, 触发Rolling --> <SizeBasedTriggeringPolicy size="10 MB" /> </Policies> <DefaultRolloverStrategy max="20" /> </RollingFile> <RollingFile name="file_springframework" fileName="${LOG_PATH}/springframework.log" filePattern="${LOG_PATH}/$${date:yyyy-MM-dd}/springframework-%d{yyyy-MM-dd}-%i.log"> <PatternLayout> <Pattern>${LOG_LAYOUT}</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10 MB" /> </Policies> <DefaultRolloverStrategy max="20" /> </RollingFile> <RollingFile name="file_project" fileName="${LOG_PATH}/project.log" filePattern="${LOG_PATH}/$${date:yyyy-MM-dd}/project-%d{yyyy-MM-dd}-%i.log"> <PatternLayout> <Pattern>${LOG_LAYOUT}</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10 MB" /> </Policies> <DefaultRolloverStrategy max="20" /> </RollingFile> </Appenders>

<Loggers> <Logger name="com.test" level="DEBUG" additivity="false"> <AppenderRef ref="file_project" /> <AppenderRef ref="console" /> </Logger> <Logger name="org.springframework" level="ERROR" additivity="false"> <AppenderRef ref="file_springframework" /> <AppenderRef ref="console" /> </Logger>

<Root level="ERROR"> <AppenderRef ref="file_root" /> <AppenderRef ref="console" /> </Root> </Loggers></Configuration>


将写好的配置文件放在resource目录下,application.propeties 的声明如下:

logging.config=classpath:log4j2.xml

另外在引入项目依赖的时候,有时候会提示log42j重复引入的问题,这时候需要排除logging的引入

部分关键代码如下:

引入部分:

 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> <version>2.1.2.RELEASE</version> </dependency>



排除部分:

     

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</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-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency>

以上是关于log4j2文件配置的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IDE 中使用一个 log4j2 配置文件进行运行时,使用另一个 log4j2 配置文件进行打包/部署?

log4j2的资源文件具体怎么配置

log4j2文件配置

log4j2文件配置

log4j2配置文件xml详细了解

SpringBoot配置多环境log4j2