Log4j异步日志简明配制

最近搭建一个新的WebService工程,感觉日志系统有些慢,尤其是大量的JDBC日志写入日志文件时,想起了以前关注过的log4j的异步日志方式,从Apache的log4j上了解了具体配置,于是开始改进日志配制文件,便有了此文。

 

log4j的日志写入对象有很多种,基本上满足了任何写入要求,如写入控制台(ConsoleAppender)、数据库(JDBCAppender)、文件(FileAppender)、文件回滚(RollingFileAppender)、按日文件回滚(DailyRollingFileAppender)、邮件、自定义、甚至于Socket或以流的方式(WriteAppender )发送到任何指定的位置。

 

而log4j的日志级别分为5种,既:FATAL、ERROR、WARN、INFO、DEBUG

 

log4j的输出格式:

  • HTMLLayout (以HTML表格形式布局)
  • PatternLayout (可以灵活地指定布局模式)
  • SimpleLayout (包含日志信息的级别和信息字符串)
  • TTCCLayout (包含日志产生的时间、线程、类别等等信息)

简要的介绍了下基本配制,下面列出我在使用的异步日志配制供参考

 

<?xml version="1.0" encoding="GB2312"?>
<!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="%-4r [%t] %-5p %c %x - %m%n" />
		</layout>
	</appender>

	<appender name="DRFOUT" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="logs/brws.log" />
		<param name="Append" value="true" />
		<param name="DatePattern" value="yyyy_MM_dd'.'" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d [%t] %-5p %l %x - %m%n" />
		</layout>
	</appender>

	<appender name="ASYNCOUT" class="org.apache.log4j.AsyncAppender">
		<param name="BufferSize" value="512" />
		<appender-ref ref="DRFOUT" />
	</appender>

	<root>
		<level value="info" />
		<appender-ref ref="STDOUT" />
		<appender-ref ref="DRFOUT" />
	</root>

</log4j:configuration>
 

 

你可能感兴趣的:(apache,log4j,socket,webservice,jdbc)