log4j2-thread.xml

<?xml version="1.0" encoding="UTF-8" ?>
<configuration status="DEBUG">
	<properties>
		<!--变量定义 -->
		<property name="base_dir">${catalina.base}/logs/home/</property>
		
		<property name="base_dir_info_file_name">info</property>
		<property name="base_dir_error_file_name">error</property>
		<property name="base_dir_warn_file_name">warn</property>
		<property name="base_dir_rolling_file_name">rolling</property>
		
		<property name="base_dir_file_old_name">-%d{yyyy-MM-dd-HH}_%i</property>
		<property name="base_dir_file_ext">.log</property>
		<property name="base_dir_file_old_ext">.log.gz</property>
		
		<!--
           %d{yyyy-MM-dd HH:mm:ss, SSS} : 日志生产时间
           %t 输出当前线程名称
           %-5level 输出日志级别,-5表示左对齐并且固定输出5个字符,如果不足在右边补0
           %logger 输出logger名称,因为Root Logger没有名称,所以没有输出
           %p : 日志输出格式
           %c : logger的名称
           %m : 日志内容,即 logger.info("message")
           %n : 换行符
           %C : Java类名
           %L : 日志输出所在行数
           %M : 日志输出所在方法名
           %F :	输出所在的类文件名,如Client.java
           %X{ip} MDC方式获取ip(等同于 %MDC{ip} 和 %mdc{ip} ) 
        -->
		<property name="log_pattern">%d [%t] %-5p %C %L -%m%n</property>
		<!-- 日志切割的最小单位 -->
		<property name="every_file_size">30M</property> 
	</properties>
	
	<appenders>
		<Console name="console" target="SYSTEM_OUT">
			<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
			<ThresholdFilter level="DEBUG" onMatch="ACCEPT" />  
      		<PatternLayout pattern="${log_pattern}"/>  
    	</Console>
    	
   		<!-- 不同的线程不同的文件-->
   		<Routing name="Routing">
   			 <Routes pattern="$${ctx:ROUTINGKEY}">
   			 	
   			 	<!--根据设定好的线程名 并且ThreadContext有值 (重写 实现StrLookup 不用第个方法写ThreadContext值 ${ctx:ROUTINGKEY} 改 ${thread:threadName})-->
   			 	<Route key="special"> 
   			 		<RollingFile name="Rolling-default" fileName="./logs/${date:yyyy-MM}/${ctx:ROUTINGKEY}-special-%d{yyyy-MM-dd}-%i.log" filePattern="./logs/${date:yyyy-MM}/default-%d{yyyy-MM-dd}-%i.log.gz">
                        <PatternLayout pattern="${log_pattern}" />
                        <Policies>
                            <TimeBasedTriggeringPolicy interval="6" modulate="true"/>
                            <SizeBasedTriggeringPolicy size="${every_file_size}"/>
                        </Policies>
   			 		</RollingFile>
   			 	</Route>
   			 	
   			 	<!--没有设定线程名,并且ThreadContext没值-->
   			 	<Route key="$${ctx:ROUTINGKEY}"> 
   			 		<RollingFile name="Rolling-${ctx:ROUTINGKEY}" fileName="Rolling-default" filePattern="./logs/${date:yyyy-MM}/default-%d{yyyy-MM-dd}-%i.log.gz">
                        <PatternLayout pattern="${log_pattern}" />
                        <Policies>
                            <TimeBasedTriggeringPolicy interval="6" modulate="true"/>
                            <SizeBasedTriggeringPolicy size="${every_file_size}"/>
                        </Policies>
   			 		</RollingFile>
   			 	</Route>
   			 	
   			 	<!--没有设定线程名,并且ThreadContext有值 (重写 实现StrLookup 不用第个方法写ThreadContext值 ${ctx:ROUTINGKEY} 改 ${thread:threadName})-->
   			 	<Route> 
   			 		<RollingFile name="Rolling-${ctx:ROUTINGKEY}" fileName="./logs/other-${ctx:ROUTINGKEY}.log" filePattern="./logs/${date:yyyy-MM}/${ctx:ROUTINGKEY}-other-%d{yyyy-MM-dd}-%i.log.gz">
                        <PatternLayout pattern="${log_pattern}" />
                        <Policies>
                            <TimeBasedTriggeringPolicy interval="6" modulate="true"/>
                            <SizeBasedTriggeringPolicy size="${every_file_size}"/>
                        </Policies>
   			 		</RollingFile>
   			 	</Route>
   			 </Routes> 
   		</Routing>
   		
   		<!-- host:目标机器 -->
   		<!-- Port指定端口,默认514,参见/etc/rsyslog.conf -->
   		<!-- protocol指定传输协议,这里是UDP -->
   		<!-- <Syslog name="SYSLOG" host="localhost" port="514" protocol="UDP" facility="LOCAL3"/> -->
	</appenders>
	
	<loggers>
		<!-- Root level 是设置全局的信息显示级别 -->  
		<!-- 级别排序: All < Trace < Debug < Info < Warn < Error < Fatal < OFF -->
		<Root level="all">
			<AppenderRef ref="Routing" />
		</Root>
		
		<!-- 'additivity="false" : 日志不再输出到控制台 -->
		<logger name="org.springframework" level="OFF"></logger>
       	<logger name="org.mybatis" level="OFF"></logger>
       	<logger name="org.apache.http" level="OFF" />
	</loggers>
</configuration>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值