log4j2文件配置
Posted 全栈那点事儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j2文件配置相关的知识,希望对你有一定的参考价值。
小伙伴们,你们用过spring中的日志系统吗?我用的日志系统是log4j2,我把配置文件记录分享给大家
log4j2配置文件详情如下
<!-- 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文件配置的主要内容,如果未能解决你的问题,请参考以下文章