log4xx/log4j异步日志配置示例

原创 2013年12月04日 11:54:02
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' debug="false">

  <appender name="ROLLING" class="org.apache.log4j.RollingFileAppender">
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %5p %c %x - %m%n"/>
    </layout>
    <param name="File" value="/var/log/4j/log_gsX.log"/>
    <param name="MaxFileSize" value="50MB"/>
    <param name="MaxBackupIndex" value="9"/>
  </appender>

  <appender name="DAILY_LUA" class="org.apache.log4j.DailyRollingFileAppender">
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %5p %c %x - %m%n"/>
    </layout>
    <param name="File" value="/var/log/4j/log_gsX_lua.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>       
  </appender>

  <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %5p %c %x - %m%n"/>
    </layout>
    <param name="Threshold" value="info"/>
  </appender>
  
  <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
    <param name="BufferSize" value="100000"/>
    <param name="Blocking" value="false"/>
    <appender-ref ref="ROLLING"/>
    <appender-ref ref="CONSOLE"/>
  </appender>

  <appender name="ASYNC_LUA" class="org.apache.log4j.AsyncAppender">
    <param name="BufferSize" value="100000"/>
    <param name="Blocking" value="false"/>
    <appender-ref ref="DAILY_LUA"/>
  </appender>

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

  <logger name="Lua">
    <level value="info"/> 
    <appender-ref ref="ASYNC_LUA" />
  </logger>

  <logger name="main">
    <level value="info"/> 
  </logger>
  
  <logger name="THSever">
    <level value="debug"/> 
  </logger>
</log4j:configuration>


ASYNC异步输出到ROLLING和CONSOLE。

另外,Lua日志异步输出为每天一个的独立日志。

默认仅输出INFO日志,THServer日志类输出DEBUG日志。

CONSOLE屏蔽DEBUG日志。

每个服务器使用相类似的配置,仅输出文件名不同。可用如下Shell脚本生成各个配置文件:

for i in {2..32}
do
  sed 's/gsX/gs'${i}'/g' log4j_gsX.xml > log4j_gs${i}.xml
done


搞怪的 log4net 记录日志 性能测试

刚做这个项目中用log4net 刚开始用着还正常,这几天做压力测试,压力 到 4000后发现,就会出现带宽的问题 压力上不去。所有就用2000去压了一夜,第二天就发现,在压到 8个小时的时候会出现,系...
  • likunran521
  • likunran521
  • 2011年11月17日 15:28
  • 4365

.net4.5使用async和await异步编程实例

在.NET4.5中新增了异步编程的新特性async和await,使得异步编程更为简单。通过特性可以将这项复杂的工作交给编译器来完成了。之前传统的方式来实现异步编程较为复杂,这样对于程序猿来说处理起来比...
  • webczw
  • webczw
  • 2015年07月10日 17:02
  • 1690

log4j, log4j2 实用配置;log4j 2 异步配置

log4j 兼容jdk6, 最新版本是1.2.17(不再更新) log4j2 不兼容jdk7之前的版本, 最新版本是2.6.x (截止2016-06-15) 对于还在用Java6的服务器来说 请使用l...
  • caib1109
  • caib1109
  • 2016年05月29日 11:29
  • 12709

log4j异步日志的配置和测试

日志可以帮助我们分析故障原因,甚至做些数据挖掘的工作。最简单的日志方法,就是自己写个写文件的方法,在需要打日志的时候调用下,但是这显然不可能在实际工程上用。还有个问题,就是频繁地打日志,也就是增加磁盘...
  • wangongxi
  • wangongxi
  • 2015年11月06日 19:34
  • 3117

log4j日志输出性能优化-缓存、异步

1、log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位。由于日志级别的不同,对系统的性能...
  • tornadowp
  • tornadowp
  • 2012年11月14日 13:42
  • 41984

log4j异步日志的配置和测试

日志可以帮助我们分析故障原因,甚至做些数据挖掘的工作。最简单的日志方法,就是自己写个写文件的方法,在需要打日志的时候调用下,但是这显然不可能在实际工程上用。还有个问题,就是频繁地打日志,也就是增加磁盘...
  • wangongxi
  • wangongxi
  • 2015年11月06日 19:34
  • 3117

log4j, log4j2 实用配置;log4j 2 异步配置

log4j 兼容jdk6, 最新版本是1.2.17(不再更新) log4j2 不兼容jdk7之前的版本, 最新版本是2.6.x (截止2016-06-15) 对于还在用Java6的服务器来说 请使用l...
  • caib1109
  • caib1109
  • 2016年05月29日 11:29
  • 12709

Log4j2介绍和特性实例(三)--日志的异步输出

介绍Log4j2的两种异步日志模式
  • chenhaotong
  • chenhaotong
  • 2015年12月27日 11:13
  • 10148

log4j日志异步化大幅提升系统性能

经过大型J2EE项目实测,Log4j的日志输出对系统性能有比较显著的影响,尤其是日志输入量比较大时,例如:系统并发量很大,显示Hibernate的sql和参数日志,或日志级别较低DEBUG或INFO时...
  • w1014074794
  • w1014074794
  • 2016年06月24日 10:05
  • 1596

Log4j2使用总结(异步日志)

Log4j 2 包含了基于LMAX 分离库的下一代的异步日志系统,在多线程环境下,异步日志系统比 Log4j 1.x 和Logback 提高了10倍性能提升(吞吐量和延迟率 )。原文如下: Log...
  • z69183787
  • z69183787
  • 2016年06月28日 15:34
  • 5751
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:log4xx/log4j异步日志配置示例
举报原因:
原因补充:

(最多只允许输入30个字)