log4j日志使用
来源:互联网 发布:网络研修帖子 编辑:程序博客网 时间:2024/05/23 16:59
1,加载log4j日志
用到的包:
log4j-1.2.14.jar
commons-logging-1.1.1.jar
spring-mock.jar
spring.jar
stringtemplate.jar
找到log4j日志包,导入项目,编写log4j配置文件
log4j.rootLogger=INFO, stdout, textLoglog4j.logger.org.springframework=INFOlog4j.logger.org.springframework.transaction=INFOlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %p %c %x - %m%nlog4j.appender.textLog = org.apache.log4j.DailyRollingFileAppender #log4j.appender.textLog.MaxFileSize=5MB#log4j.appender.textLog.MaxBackupIndex=10log4j.appender.textLog.layout=org.apache.log4j.PatternLayoutlog4j.appender.textLog.layout.ConversionPattern=%d{ISO8601} [%t] %p %c %x - %m%nlog4j.appender.textLog.DatePattern = '.'yyyy-MM-dd'.log' log4j.appender.textLog.File=D\:/temp/Memcached_look_log日志配置不会写请参考百度文库:http://baike.baidu.com/view/25347.htm
写好后,代码内加载配置
public class logTest {private static final Logger log = Logger.getLogger(logTest.class);public static void logsendTest(){//同时输出到控制台和一个文件的实例并实现了Logger的继承PropertyConfigurator.configure("E:\\javawork\\web_project\\SSHTest_1\\WebRoot\\WEB-INF\\config\\log\\log4j.properties");log.debug("Start of the main() in TestLog4j"); log.info("Just testing a log message with priority set to INFO"); log.warn("Just testing a log message with priority set to WARN"); log.error("Just testing a log message with priority set to ERROR"); log.fatal("Just testing a log message with priority set to FATAL"); log.log(Priority.WARN, "Testing a log message use a alternate form" );log.info("end");System.out.print(System.currentTimeMillis());}public static void main(String[] args) {logTest.logsendTest();}}
J2EE项目加载日志需要写个servlet启动时加载,代码录下
<context-param><param-name>log4jConfigLocation</param-name><param-value>/WEB-INF/config/log/log4j.properties</param-value></context-param> <servlet> <servlet-name>log4jinit</servlet-name> <servlet-class>logTest.LogServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
logTest.LogServlet需要用到spring包里的方法进行加载,代码录下
public void init() {// Put your code hereLog4jWebConfigurer.initLogging(this.getServletContext());log.info("***************服务器启动*****************");}
当然你也可以不写servlet直接调用spring日志处理进行加载,web.xml配置录下
<servlet><servlet-name>log4jConfigListener</servlet-name><servlet-class>org.springframework.web.util.Log4jConfigServlet</servlet-class><load-on-startup>1</load-on-startup></servlet>这样,你j2ee项目启动的时候,日志就已经加载了
2,日志格式的修改,自定义日志格式。lo4j除了标准定义的格式以为,还可以自定义格式输出
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %p %c %X{levelProject} %X{MouldProject} - %m%n这里,%d:时间, %t线程,%p打印类型,%c类目, %X{levelProject}自定义的levelProject,%x{MouldProject}自定义的MouldeProject类目,%m打印信息,%n换行符
MDC.put("levelProject", level);MDC.put("MouldProject", LoggingApi.getProjectbyClass(clazz));3,日志存放目录自定义,与日志名称自定义
log4j.appender.textLog.File=${user.log4jdir}/${usr.log4jprofix}_log
java代码设置user.log4jdir与user.log4jprofix
System.setProperty(CommonConstant.LOG4J_CONFIG_FLAG, log4jLogDir); System.setProperty(CommonConstant.LOG4J_CONFIG_PROFIX, log4jlogfilePifx);
点右键新建一个Receivers,Chainsaw V2支持在线socket解析,也支持本地文件查看,这里我用本地文件查看
新建一个LogFilePatternReceiver接收器,其中,
fileURL:file:///c:/test.log
logFormat:TIMESTAMP[THREAD] LEVEL CLASS PROP(levelProject) PROP(MouldProject) - MESSAGE(格式必须保持log4j打印格式一致,否则Chainsaw V2会查不到对应字段)
CLASS (FILE:LINE) - MESSAGE
name:test
点击OK按钮,然后就可以在Chainsaw中对日志进行过滤或排序了。
比如,可以设定:PROP.leveProject == ‘1′ && PROP.MouldProject == ‘Test’,并按照时间戳进行排序,
这样就可以看到级别是“1”,模块是“Test”的日志打印了
参考链接:http://hi.baidu.com/javaworld2006/item/e1ba90332dc0e5f7e6bb7af2
http://shansun123.iteye.com/blog/1016759
- log4j日志使用详解
- log4j日志使用详解
- log4j 日志 高级使用
- log4j日志使用详解
- log4j 日志 高级使用
- log4j日志使用详解
- Tomcat 使用Log4j日志。
- velocity 日志使用 log4j
- 使用log4j输出日志
- 使用Log4j打印日志
- log4j日志使用
- hadoop 使用log4j日志
- 使用log4j记录日志
- 使用log4j记录日志
- log4j日志的使用
- Log4j 日志文件使用
- 使用log4j记录日志
- log4j日志的使用
- SQL Server 表空间问题
- shell 查看最占空间的文件夹和文件 du的用法
- NFC(近场通信)技术的移动应用
- 封装 继承 多态
- Spring事务传播属性与隔离级别
- log4j日志使用
- 基于vector的栈实现(C++)
- 追猎者:贵金属二次探底未果,本周依然保持逢低做多
- 燕十八php公益课程---面向对象课堂笔记(一)
- JAVA通过物理地址获取经纬度
- Ubuntu文件系统管理
- windows phone中的数据绑定
- uva_590_Always on the run (普通DP)
- QT中文显示