spring中log4j2文件配置

环境

spring

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>

欢迎小伙伴们关注我的公众号,这里有不定期干货分享给大家。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值