log4j xml配置

18 篇文章 0 订阅
11 篇文章 0 订阅


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

	<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%X{traceId} | %4d %p - %C{1}.%M(%L) | %m%n" />
		</layout>
	</appender>

	<appender name="fileout" class="org.apache.log4j.RollingFileAppender">
		<param name="File" value="/data/serverside_tomcat_logs/log.log" />
		<param name="File" value="/data/serverside_tomcat_logs/log.log" />
		<param name="MaxFileSize" value="102400KB" />
		<param name="MaxBackupIndex" value="10" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%X{traceId} | %4d %p - %C{1}.%M(%L) | %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="levelMin" value="info" />
			<param name="levelMax" value="info" />
			<param name="AcceptOnMatch" value="true" />
		</filter>
	</appender>

	<appender name="datacenter" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="/data/serverside_tomcat_logs/logs/datacenter.log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%X{traceId} | %4d %p - %C{1}.%M(%L) | %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="levelMin" value="info" />
			<param name="levelMax" value="info" />
			<param name="AcceptOnMatch" value="true" />
		</filter>
	</appender>

	<appender name="exception" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="/data/serverside_tomcat_logs/logs/datacenter.log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%X{traceId} | %4d %p - %C{1}.%M(%L) | %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="levelMin" value="info" />
			<param name="levelMax" value="info" />
			<param name="AcceptOnMatch" value="true" />
		</filter>
	</appender>


	<appender name="test" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File"
			value="/data/serverside_tomcat_logs/logs/testfortimeseries.log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%X{traceId} | %4d %p - %C{1}.%M(%L) | %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="levelMin" value="info" />
			<param name="levelMax" value="info" />
			<param name="AcceptOnMatch" value="true" />
		</filter>
	</appender>

	<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
		<param name="BufferSize" value="32768" />
		<appender-ref ref="fileout" />
		<appender-ref ref="datacenter" />
		<appender-ref ref="exception" />
		<appender-ref ref="test" />
	</appender>

	<logger name="com.morningstar.oneteam.datacenter.exception">
		<level value="debug" />
		<appender-ref ref="exception" />
	</logger>
	<logger name="com.morningstar.oneteam.datacenter">
		<level value="debug" />
		<appender-ref ref="datacenter" />
	</logger>
	<logger name="test">
		<level value="debug" />
		<appender-ref ref="test" />
	</logger>
	
	<root>
		<priority value="warn" />
		<appender-ref ref="stdout" />
		<appender-ref ref="fileout" />
		<appender-ref ref="ASYNC" />
	</root>

</log4j:configuration>  

=======log4j.properties

# Global logging configuration
log4j.rootLogger=WARN,fileout,stdout


log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%4d %p - %C{1}.%M(%L) | %m%n

#datacenter
log4j.categoryorg.com.morningstar=DEBUG

# Rolling log file output...
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=/data/serverside_tomcat_logs/log.log
log4j.appender.fileout.MaxFileSize=10240KB
log4j.appender.fileout.MaxBackupIndex=3
log4j.appender.fileout.Append=true
log4j.appender.fileout.BufferSize=8192
log4j.appender.fileout.ImmediateFlush=false
log4j.appender.fileout.BufferedIO=true
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.conversionPattern=%4d %p - %C{1}.%M(%L) | %m%n

#datacenter
log4j.logger.com.morningstar.oneteam.datacenter=DEBUG,datacenter
log4j.appender.datacenter=org.apache.log4j.DailyRollingFileAppender
log4j.appender.datacenter.File=/data/serverside_tomcat_logs/logs/datacenter.log
log4j.appender.datacenter.MaxFileSize=102400KB
log4j.appender.datacenter.DatePattern='.'yyyy-MM-dd
log4j.appender.datacenter.Append=true
log4j.appender.datacenter.BufferSize=8192
log4j.appender.datacenter.ImmediateFlush=false
log4j.appender.datacenter.BufferedIO=true
log4j.appender.datacenter.layout=org.apache.log4j.PatternLayout
log4j.appender.datacenter.layout.conversionPattern=%4d %p - %C{1}.%M(%L) | %m%n

log4j.logger.com.morningstar.oneteam.datacenter.exception=DEBUG,exception
log4j.appender.exception=org.apache.log4j.DailyRollingFileAppender
log4j.appender.exception.File=/data/serverside_tomcat_logs/logs/exception.log
log4j.appender.exception.DatePattern='.'yyyy-MM-dd
log4j.appender.exception.Append=true
log4j.appender.exception.BufferSize=8192
log4j.appender.exception.ImmediateFlush=false
log4j.appender.exception.BufferedIO=true
log4j.appender.exception.layout=org.apache.log4j.PatternLayout
log4j.appender.exception.layout.conversionPattern=%4d %p - %C{1}.%M(%L) | %m%n

log4j.logger.test=DEBUG,testfortimeseries
log4j.appender.testfortimeseries=org.apache.log4j.DailyRollingFileAppender
log4j.appender.testfortimeseries.File=/data/serverside_tomcat_logs/logs/testfortimeseries.log
log4j.appender.testfortimeseries.DatePattern='.'yyyy-MM-dd
log4j.appender.testfortimeseries.Append=true
log4j.appender.testfortimeseries.BufferSize=8192
log4j.appender.testfortimeseries.ImmediateFlush=false
log4j.appender.testfortimeseries.BufferedIO=true
log4j.appender.testfortimeseries.layout=org.apache.log4j.PatternLayout
log4j.appender.testfortimeseries.layout.conversionPattern=%4d %p - %C{1}.%M(%L) | %m%n

======================================use mdc

package com.morningstar.oneteam.log;

import org.apache.commons.lang.RandomStringUtils;
import org.apache.log4j.MDC;

public class TraceUtils
{
  public static final String TRACE_KEY = "traceId";
  public static final int TRACE_LENGTH = 8;

  public static void beginTrace()
  {
    String traceId = RandomStringUtils.randomAlphanumeric(8);
    MDC.put("traceId", traceId);
  }

  public static void beginTrace(String traceId) {
    MDC.put("traceId", traceId);
  }

  public static void endTrace() {
    MDC.remove("traceId");
  }

  public static String getTraceIdKey() {
    return ((String)MDC.get("traceId"));
  }
}
-----------------------------------------------------------------------------
  private static String format(String str) {
    String strLog = TraceUtils.getTraceIdKey() + " | " + str + "\n";
    return strLog;
  }

--------------------------------
protected final Log LOG = LogFactory.getLog(this.getClass());


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值