【Developer Log】Log4j v2
来源:互联网 发布:网龙网络控股有限公司 编辑:程序博客网 时间:2024/05/30 13:41
Java项目可以自己有自己的写log,这是我的常用方案,已经封装好了。但是需要通过命令行或者控制台来修订写log的登记。
一个常用的java开源项目是Log4j。我有个好朋友是做需求的,她说需求的经常骂开发:为什么非要自己造轮子。好吧,她的话是有道理的。项目不仅仅是我的部分,也会涉及其他人,和他们讲了几次问什么要写log,为什么要分等级,如何写log,你们自己开发调测的信息版本释放前应该要去掉,或者设为最低等级,重点是模块的接口界面要清晰,这是定位的关键。
闲话少说,如果没有自己的log,建议使用log4j,但是要使用v2,不要使用v1。v2比v1增加了trace的等级,但是更为关键的是v2可以设置定期读取配置文件,并根据配置文件实时修订。这就非常需要了。如果通过接口定位出问题的模块,下一步程序员入场,可以修改配置,将log的等级调低,不需要重启,就可以进行详细的log输出。处理完毕后,恢复运维的log等级。
另一个也算是比较重要的功能就是可以实现log文件的压缩,txt的压缩率还是相当高,很是方便。
在一个tomcat servlet的项目中,有如下配置:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" monitorInterval="120">
<!-- 每120秒重新load一次配置,以便支持动态配置调整
more detail:http://blog.csdn.net/axwolfer/article/details/40718609
http://logging.apache.org/log4j/2.x/manual/ -->
<properties>
<property name="logPath">/usr/local/bin/tomcat8/apache-tomcat-8.0.24/logs</property>
</properties>
<Appenders>
<!-- 下面Console的配置如果不删除,将导致log同时也写在catalina.out中,这会导致catalina.out非常非常地大,开始以为在Loggers里面删去Console就可以,但是不起作用,将这一并删除就好了。
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%-5p] %c{1}:%L - %msg%n" />
</Console> -->
<RollingFile name="RollingFile" filename="${logPath}/hcz.log"
filepattern="${logPath}/hcz%d{YYYYMMdd}-%i.log.zip">
<!--我们不建议%c{1}:%L,运维人员不关心你这是哪个类和哪行的,这是给程序员定位的,在上线的时候应该删除,如果需要问题定位建议再打开。log是写给什么人看的,这点要清楚 -->
<PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss.SSS} [%-5p] %c{1}:%L - %msg%n" />
<Policies>
<SizeBasedTriggeringPolicy size="20MB"/>
</Policies>
<DefaultRolloverStrategy max="50"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="RollingFile" />
</Root>
</Loggers>
</Configuration>
- 【Developer Log】Log4j v2
- at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable错误解决办法
- 错误解决方法:log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog). log4j:WARN Plea
- 【Developer Log】开发日志
- 【Developer Log】Thread-safe
- Kinect v2 developer preview 预览
- Log4j和Log
- log4j+slf4j log系统配置
- log4j和log
- log4j 写log
- 【log】log4j 1.2
- 【log】log4j 2
- Boost.Log v2 : 1.序言
- Boost.Log v2 : 3.安装
- Boost.Log v2 : 4.定义
- 【Developer Log】ProGuard扰码:ClassFormatError
- 【Developer Log】正确使用C3P0
- ZK developer's Guide v2.4.1
- VB & Excel Macro delete file and file folder
- iOS的各种加密方法使用简介
- 将eclipse里的项目移植到android studio中
- AngularJS 应用身份认证的技巧
- Fuse文件系统优化方案
- 【Developer Log】Log4j v2
- swift笔记(3)
- hibernate实体的三种状态
- 2015-0827-osg学习历程2
- cacti监控服务器
- POJ 1014 Dividing
- 非循环链队类C++定义
- 处理一些warning
- 正则表达式匹配HTML