自己总结的log4j 可分类--分方法--分参数--分时间显示log.txt

来源:互联网 发布:苹果抢购软件 编辑:程序博客网 时间:2024/06/13 22:42

         一般框架的配置都是写好的  log4j也是,说实话 自己只知道大概意思 ,但真心不知道到底咋配置log4j的,目前 项目中有遇到,把自己配置的出来给大家分享分享,

做出来的效果大致如下图:

第一框是方法名 后面的是参数名,最后的当然是日期了。下面看实现方法,我尽量写的详细一点

 我做的java脚本形式的(就是普通的java project)  不是web 项目,但此方法还是一样适用于web,所以不用担心,项目要求 要把大一点的操作步骤全部记录下来,不是简单的错误日志。一般使用log4j 要不使用properties或者使用XML 我这里就使用的是properties。大概流程是   要记录的方法调用--读properties的java类--调用log4j.jar包 -生成log.txt  具体的参数我觉得你有必要自己百度一下,下面看具体实现

(1).log4j.properties

#config root logger#(rootLogger可以自己定义)log4j.rootLogger = INFO,system.outlog4j.appender.system.out=org.apache.log4j.ConsoleAppender  (控制台可显示)log4j.appender.system.out.layout=org.apache.log4j.PatternLayout (输出的格局可改变,就是可以自定义输出的意思)log4j.appender.system.out.layout.ConversionPattern=DEBUG-->%5p{%F:%L}-%m%n%(输出就是下面的样子)#DEBUG--> INFO{MLog.java:80}-MLog clients using log4j logging.#DEBUG--> INFO{C3P0Registry.java:204}-Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10] log4j.appender.pro.file.out.File=D\:\\Batch\\logs\\


注:带#号后面是被我注释的.log4j.properties里面其实没有什么好说的。

(2)JAVA处理类
我写的也很简单,很实用


                             //可以设置自己的参数  这样就能得到自己的文件名了public static void log4jFile(String param,String type){SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式String time=df.format(new Date());  Properties pro=new Properties();   pro.put("log4j.logger.pro.file", "INFO,pro.file.out");  pro.put("log4j.appender.pro.file.out", "org.apache.log4j.DailyRollingFileAppender");  pro.put("log4j.appender.pro.file.out.File",Sql.readLog4jValue("log4j.appender.pro.file.out.File").trim()+"Log_"+param+"_"+type+"_"+time+".txt");//可随便修改    //  pro.put("log4j.appender.pro.file.out.DatePattern","yyyy-MM-dd'.txt'");这里可以用log4j 的生成时间格式,但我用java 觉得跟灵活一点吧  pro.put("log4j.appender.pro.file.out.layout", "org.apache.log4j.PatternLayout");  pro.put("log4j.appender.pro.file.out.layout.ConversionPattern","%d{yyyy-MM-dd HH:mm:ss} %-5p %c - %m%n");  PropertyConfigurator.configure(pro);}

(3)log4j.jar

http://download.csdn.net/download/gjldwz/6765121我给个下载地址吧。

调用的话 直接类的方法名  Sql.log4jFile("参数1","参数2")显示的效果就是(可以自己修改)     Log_参数1_参数2_2013-12-25.txt



0 0
原创粉丝点击