怎么怎样修改日志志展示

之前用国产的金碟apusic 4.1中,使用的日志方式是一天一个日志,但到
了apusic 5.1中,甚至是6.0,会发现默认设置的日志居然是这个格式的:
比如apusic-2011-04-13 12-34-12.log,就是太精确了,会产生N个日志
,按这个格式,不大方便,于是发现有如下两个方法修改;
1) 反编译lib下的apusic.jar这个代码,
可以先把apusic.jar先解开,然后用反编译工具打开
然后找到com.apusic.logging这个包,找到
datafilehandler.java这个文件,然后找到
generate()这个方法,
找到
SimpleDateFormat localSimpleDateFormat = new SimpleDateFormat(yyyy-MM-dd HH:MM: quot;);
改成
SimpleDateFormat localSimpleDateFormat = new SimpleDateFormat(yyyy-MM-dd);就可以了,这个方法其实是产生日期文件名
2011-04-13 回复 (0)
相关讨论
最近,JE关于AS的话题似乎多了一点。
看了很多同志的感言,作为一个AS技术爱好者,我希望能够和大家分享个人的一些看法和亲身经历。
首先我没有必要隐瞒,我目前在金蝶中间件(Apusic)做事,Apusic AS是我们公司的产品。但是,作为一个小小程序员,一个自称“热崇技术”的人,我想我不会、也没有必要带有任何商业目的来写这些文字。
一、开源的AS和商业的AS
1、品 ...
2005-08-18 回复 (22)
一. Log4j+commo -logging
JAR包
commo -logging-1.1.jar
log4j-1.2.15.jar
配置文件
commo -logging.properties
log4j.xml
commo -logging.jar包读取commo -logging.properties中指定的log,自动加载日志配置
在commo -logging+ ...
2009-03-09 回复 (7)
最近被问到一个log4j分不同文件记录不同级别日志的问题,一下给难倒了,以前没有留意过log4j的具体功能,只是了解了下。如今自己还差的远啊。╮(╯▽╰)╭。。。
参考了前段时间的那个项目中的log4j配置文件,发现那个只不过将不同模组的日志记录到不同的日志文件。并未按日志级别分文件记录。自己在动手调试的过程中结合查阅网上很多博文,终于以xml格式配置的方式调通。具体配置如下:
2010-08-23 回复 (13)
:?: 入题!
log4j已经配好了,但是现在不能往日志里输出堆栈信息
2004-04-17 回复 (8)
目标:将Struts提供的例子部署到Apusic V5.1上,并且可以正确运行。因为Struts 1.x与Struts 2.x有较大区别,因此本文对两个版本的例子都进行了部署。
术语:Struts:使用最为广泛的MVC框架。Apusic:完全支持J2EE规范的商业应用服务器产品,最新版本V5.1可以提供对Java EE 5.0的完整实现。%APUSIC_HOME%:Apusic***目录
准备:在 ...
2008-07-10 回复 (0)
相关新闻
在电子政务市场上多次力挫国外强手的金蝶中间件公司今天对外宣布:该公司已与近日和国家信访局达成合作协议。根据协议,国家信访局核心工程——全国信访信息系统下一阶段建设将采用金蝶Apusic中间件作为系统的基础平台。这是金蝶Apusic既国家发改委“金宏”工程、国家质检总局、国家监察部之后,又一次成功服务于与“国字号”的部委级电子政务用户。
2007-12-28 回复 (21)
快逸报表是一款专业web报表开发工具,它具有功能齐全、性能稳定、易操作和界面美观等多项优点,已得到广大用户的一致赞赏与好评。
快逸报表的统计图模块无疑是用户使用广泛且实用的功能点,在报表中引入统计图可以让报表数据的展现更直观形象,统计图中有多种多样的分类形式,有时会需要随时间的变化来展示数据,比如某项数据的十年间变化图,或数据的某段时间中每天的变化图,在这种需求中可能会出现统计图中某个时间点没有记录 ...
2010-05-25 回复 (0)
在比较漫长的期待之后(期间经历了Grails被SpringSource收购和Groovy1.6助速的利好消息),Grails 1.1终于跟我们广大的Grailers见面了,正如Grails的Roadmap所描述,此次的发布新增不少的人性化的特性,闲话少说,让我们一起来对Grails 1.1的新特性,先睹为快,以下只是主要内容的摘录和简译,详细请参考原文:http://www.grails.org ...
2009-03-11 回复 (28)
Blackbird 是一个开源的JavaScript库,提供了一种简单的记录日志的方式和一个控制台窗口,有了这个之后,你就可以抛弃alert() 了。
jgyhuzhou 写道BlackBird, G. Scott Olson开发的javascript日志记录库,相当于java中的log4j, javascript开发者再也不用使用alert来调试啦。
以下是具体的操作说明:
2008-10-16 回复 (28)
相关博客
之前用国产的金碟apusic 4.1中,使用的日志方式是一天一个日志,但到
了apusic 5.1中,甚至是6.0,会发现默认设置的日志居然是这个格式的:
比如apusic-2011-04-13 12-34-12.log,就是太精确了,会产生N个日志
,按这个格式,不大方便,于是发现有如下两个方法修改;
1) 反编译lib下的apusic.jar这个代码,
可以先把apusic.jar先解开,然后用 ...
2011-04-13 回复 (0)
目标:Spring的ImageDB例子在Apusic V5.1上部署
术语:Apusic:提供了完整的J2EE支持的商用服务器;Spring:开源框架,是其他各种框架的粘合剂;Oracle:著名的商业关系数据库系统;MySQL:著名的开源关系数据库系统;%APUSIC_HOME%:Apusic***目录;%J***A_HOME%:JDK***目录。
准备:在http://java.sun.com下载JDK ...
2008-07-19 回复 (0)
目标:将Tomcat V6的的例子Examples移植到Apusic V5.1上
术语:Tomcat:只提供了WEB容器的开源服务器;Apusic:提供了完整的J2EE支持的商用服务器;%TOMCAT_HOME%:Tomcat***目录%APUSIC_HOME%:Apusic***目录
准备:在http://java.sun.com下载JDK V1.5以上的版本并***,确认J***A_HOME正确 ...
2008-07-07 回复 (0)
部署在Apusic 4.0.3上的应用中,使用到log4j,在应用装载时报如下异常:
2008-05-27 20:00:41 错误 [apusic.server.Main] 启动 'apusic:name=J2EEDeployer,j2eeType=Service' 服务失败。
java.lang.ExceptionInInitializerError
at org.apache.st ...
2008-05-29 回复 (0)
相关问答
如题。用SimpleDateFormat(yyyy-MM-dd:HH)格式化yyyy-MM-dd:HH-mm好像不行,是否要使用string方法截取?
2011-01-27 回复 (5)
这个类里面有这个方法 Co ectionHandler.requestToHandler(Socket s, Service service);
如果哪个知道的话告诉我下
2009-08-15 回复 (2)
要编辑时间字符成某格式(如yyyy-MM-dd hh:mm: )--这个easy,但我要返回的是Date型,如果用SimpleDateFormat的parse()方法则转化的是标准型的(如Sat Nov 08 20:28:32 CST 2008),能否返回有特定格式的Date呢(像oracle中的to_Date就能定时间的格式且不是str)???
查了半天没找到,郁闷啊!!!!!
2008-11-21 回复 (1)
struts2怎么在后台自动获取日期?util.Date格式的,用String可以直接获得,我用Date类型的获得null值,比如在action中定义Date myDate;生成get和set方法,然后再页面上写i ut type=text name=myDate value=2010-10-10提交后,后台接 ...
2011-01-29 回复 (2)
相关群组讨论
我使用 ring+struts+hibernate架构开发了一个项目,这个项目部署到tomcat下,可以使用Log4j将日志输出到文件,log4j.xml如下:
?xml version=1.0 encoding=UTF-8 ?
!DOCTYPE log4j:configuration SYSTEM log4 ...
2007-08-14 回复 (2)
tapestry5.1 怎么把log4j 更换为 logback,更换后就出错。
exception
javax.servlet.ServletException: PWC1243: Filter execution threw an exception
root cause
java.lang.IllegalAcce Error: tried to acce field org.slf4 ...
2009-10-22 回复 (3)
在J2EE技术体系中,往往被灌输了太多容器的概念,什么EJB容器、Servlet容器等等,而开发过程也在开发、配置、部署之间迭代与反复;如此一来常会出现令人尴尬的状况:往往花几分钟时间去改一个Bug、却要再花双倍或者更多时间去部署和测试,开发工程师们不得不中断思路,看着服务器如蜗牛般启动,并在开发工具和部署工具之间来回切换。
事实上,配置也好、部署也罢,都是开发过程中一个必不可少的阶段。如何通过集成 ...
2008-08-07 回复 (2)
文本框中提交日期为什么不能正确识别?一定要使用下拉吗?
2009-11-01 回复 (2)
相关专栏文章
本篇主要通过实例来讲述Struts2中各种各样的参数传递。这个参数传递的过程主要指数据从View层传递到Control层时Struts2的工作方式。根据前两篇文章的知识,我们知道,Struts2完成参数传递处理工作的基础是OGNL和ValueStack。而在这个过程中,我也把Struts2所要做的工作大致归纳为两个方面:
1. 对OGNL操作进行封装,完成OGNL表达式所表示的值到Java对象的值传 ...
2009-01-07 回复 (8)
2003-2011 ITeye.com.欢迎来到中文博客群!在这里您可以展示您的博客,与"臭味相投"的"狐朋狗友"一起交流成长!我们的口号是"博客·分享·交流·成长"。
倾力推荐
相关文章
版权声明
本站所有文章均从各个博客r 源读取获得,其版权属于博客作者所有,本页面只显示摘要信息,任何版权问题请联系博客作者。
推荐您阅读其他文章
文章摘要信息
试图在不修改Log4J源码情况下,用静态方法打印正确日志信息失败
发表于:2007-5-23 0:00:00
如果觉得文章不错,请点击左侧的“顶”来推荐此文章。
在开源的项目中使用 Log4j一般 都是在类中添加一静态变量,如 rotected static Log log = LogFactory.getLog(RequestProce or.cla ); //通用日志组件
或 rotected static Logger log = Logger.getLogger(RequestProce or.cla ); //直接申明为Log4j的logger
原来有一个项目是做了一个自定义了 MyLogger 类, 其中的 debug, info 等到方法直接就是调用 log4j 的 logger 的对应方法. 别的代码中调用 MyLogger 的静态方法打印日志时, 依据log4j.properties的配置显示 %l 定位信息就始终是 MyLogger
如: 2007-05-23 12:18:46,828 [DEBUG] com.unmi.MyLogger.debug(MyLogger.java:12) Hello MyLogger
而不是调用类,
如:2007-05-23 12:18:46,828 [DEBUG] com.unmi.MyCla .debug(MyCla .java:7) Hello MyLogger
记得当时为了解决这个问题, 是在 MyLogger 的日志打印方法中 new Throw() 实例,然后从异常栈中找到调用类的信息,放在msg中输出,而不用 %l 输出,后来发现Log4j的代码行定位的实现也如出一则。前面那个项目的做法也就造成了两次找寻异常栈信息,势必耗费不少的资源。
于是思量着,是否能在 MyLogger 中不 new Throw() 也能让 log4j 有正确的定位信息输出, 考虑直接用 A ectJ 来拦截,同时带着一个疑问:是不是用 Logger.getLogger(Cla clz) 构造 Logger 时传入的是什么Cla 实例,输出时就会定位在这个类上。对此作了下面的试验,共有四个文件,Ecli e 中***了 A ectJ 的插件 ajdt
一:MyLogger.java
package com.unmi;
import org.apache.log4j.Logger;
public cla MyLogger
//留待A ecj来初始化
public static Logger log;
//打印日志的方法
public static void debug(String msg)
log.debug(msg);
二:MyCla .java
package com.unmi;
public cla MyCla {
public void foo()
//希望打印日志定位是在这一行
MyLogger.debug("Hello MyLogger");
public static final void main(String args[])
MyCla myObject = new MyCla ();
myObject.foo();
三:LoggerRecipe.aj
package com.unmi;
import org.apache.log4j.Logger;
public a ect LoggerRecipe
//拦截MyLogger中的所有日志打印方法
pointcut logMethod():call(public void com.unmi.MyLogger.*(..));
void around():logMethod()
//能获取到需打印日志的类实例
Cla clz = thisJoinPoint.getThis().getCla ();
System.out.println("Co truct Logger by Cla : "+clz);
//在执行日志方法前初始化Logger实例
MyLogger.log = Logger.getLogger(clz);
//执行实际的日志打印方法
proceed();
四:log4j.properties
log4j.rootLogger=DEBUG,co ole
log4j.a ender.co ole=org.apache.log4j.Co oleA ender
log4j.a ender.co ole.layout=org.apache.log4j.PatternLayout
log4j.a ender.co ole.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm: ,SSS} [%5p] %l %m%n
执行 MyCla 后的输出是:
Co truct Logger by Cla : cla com.unmi.MyCla 2007-05-23 12:29:29,031 [DEBUG] com.unmi.MyLogger.debug(MyLogger.java:12) Hello MyLogger
我们能看到确实在用调用类 MyCla 构造的 Logger 实例,但是输出日志时指示仍然是 MyLogger, 必须修改 Log4j 的源码才能输出日志时定位在 com.unmi.MyCla 中
关于 Log4j 如何获知调用类的信息请参看以前写的一篇日志:
其实这样的想法与做法即使达成所愿也不会带多大益处,因为并没有减少代码的侵入性,仍然要引用自定义日志类,写下日志输出方法。
Logger.getLogger(Cla clz)传入的 Cla 只不过是一个 Logger 实例缓存时的标识。同时关于这个实现的思考也可以停下来了。
收藏到网摘:
原文链接:
友情链接:
有问题加百度Hi群:1085213 或者 QQ群: ①:11769158满 ③:13156479 ④:27077846 ⑤:27077937 ⑥:28232202 ⑦:16224919
⑧:24526052
中文博客群 版权所有,未经授权禁止复制或建立镜像。
| 联系我们:

参考资料