??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲理论电影在线观看,亚洲国产中文在线视频,国产亚洲福利精品一区http://www.tkk7.com/flysky19/category/17552.htmljava之\zh-cnWed, 28 Feb 2007 03:44:21 GMTWed, 28 Feb 2007 03:44:21 GMT60成功配置tomcat的log4j日志pȝQ格式:(x)HTMLQ每天以yyyy-mm-dd.log命名的日志文?/title><link>http://www.tkk7.com/flysky19/articles/98414.html</link><dc:creator>不断前进的小乌龟</dc:creator><author>不断前进的小乌龟</author><pubDate>Tue, 06 Feb 2007 11:03:00 GMT</pubDate><guid>http://www.tkk7.com/flysky19/articles/98414.html</guid><wfw:comment>http://www.tkk7.com/flysky19/comments/98414.html</wfw:comment><comments>http://www.tkk7.com/flysky19/articles/98414.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/flysky19/comments/commentRss/98414.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/flysky19/services/trackbacks/98414.html</trackback:ping><description><![CDATA[ <br />成功配置tomcat的log4j日志pȝQ格式:(x)HTMLQ每天以yyyy-mm-dd.log命名的日志文?br />一、引aQ?br />    实习(fn)单位让用log4j配置webapp的日志系l,要求产生的日志文件是html格式Qƈ且是每天以yyyy-mm-dd日期格式命名的日志文件?br />    q个曄让自p了(jin)一D|_(d)最q花?jin)两天时间ȝ配置成功?jin)!不过配置成功的是tomcat的,不是单个webapp的,现把步骤记录下来Q晚上再配置webapp的。先写一步一步的操作Q后面再讲解一些log4j的关键知识点?br /><br />二、一步一步配|tomcat log4j日志pȝ<br /><br />W一步:(x)下蝲log4j.jar,q把log4j.jar攑օ$CATALINA_HOME/common/lib.<br />W二步:(x)新徏log4j.properties文gQ放?CATALINA_HOME/common/classes/目录?<br />W三步:(x)写配|文件log4j.propertiesQ?br />#log4j.properties<br /><br />log4j.rootLogger=warn, A1<br /><br />log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender <br />log4j.appender.A1.file=F:/UserWorkSpace/jiangcm/Tomcat 5.0/logs/tomcat_log_<br />log4j.appender.A1.DatePattern=yyyy-MM-dd'.html'<br />log4j.appender.A1.layout=org.apache.log4j.HTMLLayout  <br /><br />log4j.logger.org.apache=warn<br /><br /><br />注解Q?br />1Q你只需要修改这一行:(x)<br /><br />log4j.appender.R.File=F:/UserWorkSpace/jiangcm/Tomcat 5.0/logs/tomcat_log_<br /><br />\径修改ؓ(f)你的Tomcat的logs目录Q如果你的系l环境配|了(jin)CATALINA_HOME环境变量Q那么可以?{catalina.home}/logs/tomcat_log_q行配置卛_?br /><br />2Q上面的log4j配置仅记录比较重要的日志Q警告warning、错误error、致命错误fatalQ到Tomcat的logs目录下的tomcat_log_ 文g中,每天晚上q?点的W一条信息会(x)触发重命名tomcat_log_Q将当前日期附加在tomcat_log_ 文g名中Qƈ产生新的tomcat_log_ 文g?br /><br />3Q用FileAppender可以log信息输出到文件中Q但是如果文件太大了(jin)读v来就不方便了(jin)。这时就可以使用 DailyRollingAppender。DailyRollingAppender可以把Log信息输出到按照日期来区分的文件中。如上述l(f)og4j.properties配置文g׃(x)每天产生一个html文gQ每个html文g只记录当天的log信息?br /><br />4Q设|了(jin)DailyRollingAppender 以后如果配置w面设|了(jin)文g的最大?那么应该L,否则可能不能产生以天为单位的日志?br /><br />5QLog4j的org.apache.log4j.DailyRollingFileAppender源码223?br />scheduledFilename = fileName+sdf.format(new Date(file.lastModified()));<br /><br />也就是说备䆾的日x仉是文件名后面加上你所配的DatePattern格式化后的字W串。除非你自己写个appender?br /><br />6Q上ql(f)og4j.properties生成的日志文Ӟ名称格式如下Qtomcat_log_2007-02-24.htmlQ?br />注意Q生成的W一个日志文件格式如下:(x)tomcat_log_Q即只是A1.file中设|的名称Q生成的W二个日志文件之后的文g命名才会(x)加上所配的DatePattern格式化后的字W串?br /><br />7Q配|DailyRollingFileAppender格式的日志系l,如果要验证生成的日志文gl果Q要注意一点,需要关闭tomcatQ修改系l日期ؓ(f)W二天的日期Q再重启tomcatQ这h能自动生成一个新的日志文Ӟ因ؓ(f)要修Ҏ(gu)期才能触发生新的日志文件?br /><br /><br />W四步:(x)重启tomcat.<br /><br />okQ现在就已经在tomcat中配|好log4j?jin)?br /><br />W五步:(x)验证<br /><br />  验证上述配置的log4j日志pȝQ?br /><br />    利用tomcat自带的web应用E序jsp-examplesQ现在配|好?jin)日志系l,那么如果在jsp-examplesq个web应用E序?java文g中用了(jin)日志Q则IE讉Kq个web app的jsp文gӞ应该能够自动生日志文件到配置的\径中?br /><br />    步骤Q?br />    aQ进入目录“F:\UserWorkSpace\jiangcm\Tomcat 5.0\webapps\jsp-examples\WEB-INF\classes\dates”;<br />    bQ修改JspCalendar.java文gQ在q个文g中加上日志的代码Q如下所C:(x)<br />package dates;<br /><br />import java.text.DateFormat;<br />import java.util.*;<br />import org.apache.log4j.Logger;<br />import org.apache.log4j.Level;<br />import org.apache.log4j.*;<br /><br /><br />public class JspCalendar {<br />    Calendar  calendar = null;<br />    static Logger logger = Logger.getLogger(JspCalendar.class);<br /><br /><br />    public JspCalendar() {<br />  logger.debug("This is debug.");<br />  logger.info("This is an info.");<br />  logger.warn("This is a warning.");<br />  logger.error("This is an error.");<br />  logger.fatal("This is a fatal error.");<br />  <br />    calendar = Calendar.getInstance();<br />    Date trialTime = new Date();<br />    calendar.setTime(trialTime);<br />    }<br /><br />    public int getYear() {<br />  <br />    return calendar.get(Calendar.YEAR);<br /><br />    }<br />…?br />}<br /><br />注释Q?br />加上的代码有两部分,一是构造一个logger对象Q一是输出logger信息Q如下所C,其他代码没动Q?br />static Logger logger = Logger.getLogger(JspCalendar.class);<br /><br />  logger.debug("This is debug.");<br />  logger.info("This is an info.");<br />  logger.warn("This is a warning.");<br />  logger.error("This is an error.");<br />  logger.fatal("This is a fatal error.");<br /><br />    cQ重新编译JspCalendar.javaQ?br />    dQ修Ҏ(gu)期ؓ(f)2007-02-26Q?br />    eQ重启tomcatQ?br />    fQ在IE中输入“http://localhost:8086/jsp-examples/dates/date.jsp”,q行该jsp文gQ?br />    gQ这时在目录“F:\UserWorkSpace\jiangcm\Tomcat 5.0\logs”下看到?jin)新产生的日志文Ӟ?x)tomcat_log_2007-02-25.html.<br />    <br />    okQ说明日志系l配|成功啦Q啦~!Q?br /><br />三、遗留问?br />3.1 上述配置的是tomcat的日志系l,应该是对tomcat下的所有webapp都v作用Q现在自己只验证?jin)jsp-examplesq个webappQ还没有验证q其他的webapp?br /><br />3.2 配置的是tomcat的日志系l,输出的应该都只是tomcat的标准输?输出信息{,感觉webapp的日志信息应该和tomcat的系l日志信息分开Q但是应该怎么分开呢?如果Ҏ(gu)个webapp单独配置日志pȝQ那么这些日志内容会(x)输出到tomcat的系l日志中吗?<br /><br />3.3 不需M配置Qtomcat5.0的默认日志目录“F:\UserWorkSpace\jiangcm\Tomcat 5.0\logs”下有按日期生的日志文gQ文件命名格式如下:(x)localhost_log.2007-02-26.txtQƈ且这个文件是自动生成的,上述配置在目录“F:\UserWorkSpace\jiangcm\Tomcat 5.0\logs”下生成?jin)tomcat_log_2007-02-25.html文gQƈ且tomcat本n也自动生成了(jin)一个localhost_log.2007-02-26.txt文gQ相当于自动生成?jin)两个日志文件?br />当然q两个日志文件的内容不同Qtomcat_log_2007-02-25.html中的内容如下Q?br />待脓(chung)?br /><br />而localhost_log.2007-02-26.txt的内容如下:(x)<br />2007-02-26 14:03:21 StandardContext[/balancer]org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]<br />2007-02-26 14:03:22 StandardContext[/jsp-examples]ContextListener: contextInitialized()<br />2007-02-26 14:03:22 StandardContext[/jsp-examples]SessionListener: contextInitialized()<br />2007-02-26 14:03:22 StandardContext[/servlets-examples]ContextListener: contextInitialized()<br />2007-02-26 14:03:22 StandardContext[/servlets-examples]SessionListener: contextInitialized()<br /><br />感觉是localhost_log.2007-02-26.txt中是tomcat的系l日志,而omcat_log_2007-02-25.html中是.java中自己写的logger的内宏V?br /><br />那么Q是不是tomcat5中系l日志就?x)自动按日生成,不需配置Q开发h员如果需要日志系l,那么在自己的webapp中配|一个,而不需要管tomcat的系l日志了(jin)Q?Q?br /><br />3.4 tomcat_log_2007-02-25.html与localhost_log.2007-02-26.txt内容不同的原因有没有可能是因为:(x)<br />自己的log4j.properties中设|a(chn)pache的别是warnQ?Q?br />log4j.logger.org.apache=warn<br /><br />刚验证了(jin)一下,好像没有关系Q“log4j.logger.org.apache=warn”这句好像不仅对localhost_log.2007-02-26.txt无媄(jing)响,而且对tomcat_log_2007-02-25.html的输Z无媄(jing)响?br />那么“log4j.logger.org.apache=warn”这句的作用是什么呢Q?Q?br /><br />3.5 webapp中如何配|日志系l,q且把webapp的日志信息与tomcat自n的系l日志分开Q?Q?br /><br />四、参考资料:(x)<br />1.我想每一天都产生一个以"yyyy-mm-dd.log"命名日志文gQ请问该怎么配置file选项Q谢谢了(jin)Q?br />http://community.csdn.net/Expert/TopicView3.asp?id=4788993<br /><br />2.使用log4j为Tomcat输出日志<br />http://www.chinawin.net/myblog/archives/314-log4jTomcataeoeOE.html<br /><br />1. 如果Tomcat当前正在q行Q关闭Tomcat?br />2. 从Apache的网站下载Commons Logging发行包?br />3. 压~包中的commons-logging.jar解压~到你Tomcat安装路径的common/lib目录中?br />4. 从Apache的网站下载Log4j发行包?br />5. 压~包中的log4j-1.2.12.jar解压~到你Tomcat安装路径的common/lib目录中?br />6. 在Tomcat安装路径的common/classes 创徏log4j的配|文件log4j.propertiesQ配|文件在随后一节)(j)?br />7. 重vTomcat <br /><br /><br />3.在Web应用中用log4j<br />http://www.3doing.net/forums/printpage.asp?BoardID=11&ID=184<br /><br />注意Q上面的load-on-startup应设?Q以便在Web容器启动时即装入该Servlet。log4j.properties文g攑֜根的properties子目录中Q也可以把它攑֜其它目录中。应该把.properties文g集中存放Q这h便管理?br /><br />4.og4j日志文g路径的配|?br />http://wangluwww.spaces.live.com/blog/<br /><br />解决log4j输出的日志文件的位置的配|问?br /><br />我一直希望自qweb应用的配|能够简化,最好的方式是打个包后扔哪都能用,即非得再做一些配|的话,也希望只是一些连接池的配|信息。这个目标在现在手头的这个项目中也几乎达C(jin)Q除?jin)log文g的位|?br />在log4j的配|文件中对于log输出的\径一向都是用绝对\径,q样导致在不同的机器上部v旉得重新定义一下log文g的输Z|。虽说费时不多,可对于我q种宁可一事,不愿多一事的人来_(d)L觉得有点郁闷?br />t破铁鞋无觅Q得来不费功夫。不l意见看C(jin)一个文档,介绍说log4j的配|文件支持windows的环境变量,格式cMvelocity:${env}QokQ问题解冻I(x)<br />一般来说我们会(x)一些初始化的信息放到web.xml中,以便在系l启动时p行。@此思\Q将log文g的位|放到webapp下面的Q意处Q如webapp/WEB-INF/conf/logs下面Q则可以在log4j.properties文g中做如下定义Q?br />log4j.appender.R.File=${webappHome}/WEB-INF/conf/logs/sysout.log<br />其中?{webappHome}x通过System.setProperty("webappHome", webappHome);实现的,此操作可通过一初始的servletq行Q具体方法略?br /><br />5. Log4j优化<br />http://www.3doing.net/forums/printpage.asp?BoardID=11&ID=184<br /><br />有多h用Log4j的时候会(x)在每一个Debug/Info之前加一个判断?<br /><br />可能很多人都说了(jin)Q这有什么关p,我在q行的时候是把Log Level讄成Error的?br /><br />那么L(fng)下面q个代码Q?br /><br />String result;<br />...<br />...<br />...<br />logger.debug(”result is?+ result );<br /><br />再看看这个代码:(x)<br /><br />String result;<br />...<br />...<br />...<br />if(logger.isDebugEnabled())<br />{<br />       logger.debug(”result is?+ result );<br />}<br /><br /><br />把Log Level讄成ERROR,q行l果又区别吗Q没有!Q?br />E序的性能有区别吗Q区别大?!!<br /><br />因ؓ(f)什么呢Q?br /><br />虽然W一D代码也不生Log输出Q但是debug()里面的字W串变量是实例化?jin),明白了(jin)吗Q?br /><br />q个是Z么很多h抱怨Log4j占用很大CPU旉的原因了(jin)Q尤其是在大循环的时候?br /><br />赶快在你的程序中加上q样的判断条件吧?br /><br /><br /><br /><br /><br /><br /><img src ="http://www.tkk7.com/flysky19/aggbug/98414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/flysky19/" target="_blank">不断前进的小乌龟</a> 2007-02-06 19:03 <a href="http://www.tkk7.com/flysky19/articles/98414.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j配置日志pȝ成功http://www.tkk7.com/flysky19/articles/98131.html不断前进的小乌龟不断前进的小乌龟Mon, 05 Feb 2007 14:33:00 GMThttp://www.tkk7.com/flysky19/articles/98131.htmlhttp://www.tkk7.com/flysky19/comments/98131.htmlhttp://www.tkk7.com/flysky19/articles/98131.html#Feedback0http://www.tkk7.com/flysky19/comments/commentRss/98131.htmlhttp://www.tkk7.com/flysky19/services/trackbacks/98131.html1Q两ơ周?x)fengy都报告说要徏一个日志系l,用log4j来配|,一直好奇,log4j是什么东东,有何用处

呢?今天x花明?jin)?x)
《log4j相比System.out的优ѝ(自己blog中的文章Q?br />    Log4j是帮助开发h员进行日志输出管理的APIcd。它最重要的特点就可以配置文g灉|的设|日

志信息的优先U、日志信息的输出目的C?qing)日志信息的输出格式?br />
    Log4j除了(jin)可以记录E序q行日志信息外还有一重要的功能就是用来显C试信息?br />
    E序员经怼(x)遇到qjava ide环境调试E序的情况,q时大多Ch?x)选择使用System.out.println

语句输出某个变量值的Ҏ(gu)q行调试。这样会(x)带来一个非帔R?ch)的问题Q一旦哪天程序员军_不要昄q?br />
些System.out.println的东西了(jin)只能一行行的把q些垃圾语句注释掉。若哪天又需调试变量|则只?br />
再一行行Lq些注释恢复System.out.println语句?br />
    使用log4j可以很好的处理类似情c(din)?br />
2Qlog4j——一个让我发愁了(jin)一D|间的东东Q?br />    12月䆾的时候fengy让配|log4jQ自己折腾了(jin)一个星期都没弄出来Qƈ且很不明白到底是哪个?br />
节出问题?jin)。因为当时对相对路径Q常用接口等都不是很?jin)解Qwangwm配出来后Q还是不知道自己的ؓ(f)什

么跑不v来?br />    现在回头xQ一直没有进展,是因为(aQ没有java.io的知识;QbQ没有java相对路径Q绝

对\径的知识Q(cQ根本不理解要完成配|,必须完成哪些工作?br />    当时弄不出来Q一直就停留?java文g中的“PropertyConfigurator.configure

(myfile.getPath());”这行代码里?jin),当时无论怎么都读不到l(f)og4j.properties文gQ想?jin)很多办法?br />
包括查如何读取属性文Ӟ如果用相对\径读取属性文Ӟ{等。但q些都是N看花Q本质没弄清楚,

查再多的l节都不至于事?br />    现在ȝ对log4j的配|有?jin)一点认识了(jin)Q?br />
2.首先分清在各个环境下配置log4j应完成什么事情:(x)
1Qjava工程环境Q?/b>
jdk1.4之后集成了(jin)日志功能QD:\Program Files\Java\jre1.5.0_04\lib目录下有logging.properties

文gQ如果要使用日志Q直接用或者修改这个logging.properties属性文件就可以?jin)?br />
2Q在tomcat中用log4j配置日志pȝQ?/b>
aQ?br />W一步:(x)下蝲log4j.jar,q把log4j.jar攑օ$CATALINA_HOME/common/lib.
W二步:(x)写配|文件log4j.propertiesQ?br />#log4j.properties

log4j.rootLogger=warn, A1,warnlog
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

log4j.appender.warnlog=org.apache.log4j.FileAppender  
log4j.appender.warnlog.MaxFileSize=50000KB   
log4j.appender.warnlog.MaxBackupIndex=0   
log4j.appender.warnlog.file=F:/UserWorkSpace/jiangcm/logs/warn.html  
log4j.appender.warnlog.layout=org.apache.log4j.HTMLLayout  
log4j.appender.warnlog.layout.ConversionPattern=%d   %X   %-5p     %m%n   

log4j.logger.org.apache=warn
W三步:(x)在目录“F:/UserWorkSpace/jiangcm/logs”下新徏warn.html文gQ?br />W四步:(x)把该log4j.properties文g攑ֈ$CATALINA_HOME/common/classes/目录?
W五步:(x)重启tomcat.
okQ现在就已经在tomcat中配|好log4j?jin)?br />
bQ如何用?——在.java文g中得C个Logger对象Q然后就可以直接输出日志?jin)。如下例子所C:(x)
//Bar.java
package com.foo;
import org.apache.log4j.Logger;

public class Bar {
static Logger logger = Logger.getLogger(Bar.class);
public void doIt() {
logger.debug("there is a debug...");
logger.info("there is a info...");
logger.warn("there is a warning...");
}
}

ok!也就是说在tomcat中配|,只需要把log4j.jar和log4j.properties分别攑ֈ$CATALINA_HOME/common/

的lib和classes下就ok?jin)!不需要再做别的设|,?java中直接用即可?br />
3Q在tomcat的webapp中配|log4jQ也是配置单个的webapp?/b>
q个有炚w?ch)?jin)Q因为在整个tomcat中配|,tomcat?x)自动读入log4j.propertiesQ但是在webapp中需

要写一个ServletQ初始化log4j,q且在web.xml中设|给servlet为tomcat启动时也自动启动?br />
q种Ҏ(gu)自己q没有实验成功,不过看过wangwm配置成功?jin)?br />
不过大致的步骤都是一L(fng)Q大概有以下几步吧:(x)
W一步:(x)下蝲log4j.jar,q把log4j.jar攑օwebappname/WEB-INF/classes/lib.
W二步:(x)写配|文件log4j.propertiesQ?br />注:(x)
解决log4j输出的日志文件的位置的配|问?
http://wangluwww.spaces.live.com/blog/
我一直希望自qweb应用的配|能够简化,最好的方式是打个包后扔哪都能用,即非得再做一些配

|的话,也希望只是一些连接池的配|信息。这个目标在现在手头的这个项目中也几乎达C(jin)Q除?jin)log

文g的位|?br />在log4j的配|文件中对于log输出的\径一向都是用绝对\径,q样导致在不同的机器上部v旉?br />
重新定义一下log文g的输Z|。虽说费时不多,可对于我q种宁可一事,不愿多一事的人来_(d)?br />
是觉得有炚w闗?br />t破铁鞋无觅Q得来不费功夫。不l意见看C(jin)一个文档,介绍说log4j的配|文件支持windows的环境变

量,格式cMvelocity:${env}QokQ问题解冻I(x)
一般来说我们会(x)一些初始化的信息放到web.xml中,以便在系l启动时p行。@此思\Q将log文g?br />
位置攑ֈwebapp下面的Q意处Q如webapp/WEB-INF/conf/logs下面Q则可以在log4j.properties文g中做

如下定义Q?br />log4j.appender.R.File=${webappHome}/WEB-INF/conf/logs/sysout.log
其中?{webappHome}x通过System.setProperty("webappHome", webappHome);实现的,此操作可通过

一初始的servletq行Q具体方法略?br />

W四步:(x)把该log4j.properties文g攑ֈWEB-INF/classes/目录?
W五步:(x)写一个初始化的servletQ?br />W六步:(x)在web.xml中配|该servletQƈ讄动启动;
W七步:(x)重启tomcat.

具体做的时候可以参考以下资料:(x)

竹笋炒肉 Log4J学习(fn)W记Q?Q(2Q(3Q?br />http://hedong.3322.org/archives/000193.html
http://hedong.3322.org/archives/000195.html
http://hedong.3322.org/archives/000197.html


具体的实跉|天l或者等评?57弄好后再l箋?br />okQ?img src ="http://www.tkk7.com/flysky19/aggbug/98131.html" width = "1" height = "1" />

]]>
在tomcat中用log4j配置日志pȝhttp://www.tkk7.com/flysky19/articles/98130.html不断前进的小乌龟不断前进的小乌龟Mon, 05 Feb 2007 14:32:00 GMThttp://www.tkk7.com/flysky19/articles/98130.htmlhttp://www.tkk7.com/flysky19/comments/98130.htmlhttp://www.tkk7.com/flysky19/articles/98130.html#Feedback0http://www.tkk7.com/flysky19/comments/commentRss/98130.htmlhttp://www.tkk7.com/flysky19/services/trackbacks/98130.htmlaQ?br />W一步:(x)下蝲log4j.jar,q把log4j.jar攑օ$CATALINA_HOME/common/lib.
W二步:(x)写配|文件log4j.propertiesQ?br />#log4j.properties

log4j.rootLogger=warn, A1,warnlog
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

log4j.appender.warnlog=org.apache.log4j.FileAppender  
log4j.appender.warnlog.MaxFileSize=50000KB   
log4j.appender.warnlog.MaxBackupIndex=0   
log4j.appender.warnlog.file=F:/UserWorkSpace/jiangcm/logs/warn.html  
log4j.appender.warnlog.layout=org.apache.log4j.HTMLLayout  
log4j.appender.warnlog.layout.ConversionPattern=%d   %X   %-5p     %m%n   

log4j.logger.org.apache=warn
W三步:(x)在目录“F:/UserWorkSpace/jiangcm/logs”下新徏warn.html文gQ?br />W四步:(x)把该log4j.properties文g攑ֈ$CATALINA_HOME/common/classes/目录?
W五步:(x)重启tomcat.
okQ现在就已经在tomcat中配|好log4j?jin)?br />
bQ如何用?——在.java文g中得C个Logger对象Q然后就可以直接输出日志?jin)。如下例子所C:(x)
//Bar.java
package com.foo;
import org.apache.log4j.Logger;

public class Bar {
static Logger logger = Logger.getLogger(Bar.class);
public void doIt() {
logger.debug("there is a debug...");
logger.info("there is a info...");
logger.warn("there is a warning...");
}
}

ok!也就是说在tomcat中配|,只需要把log4j.jar和log4j.properties分别攑ֈ$CATALINA_HOME/common/

的lib和classes下就ok?jin)!不需要再做别的设|,?java中直接用即可?br />
c)注意两个问题Q?br /> 1.tomcat下面 Log4j.properties不认, 只认log4j.properties
resource url:
http://www.tkk7.com/zJun/archive/2006/06/30/55511.html#55860

2.关于“log4j:WARN Please initialize the log4j system properly”:(x)
  你的tomcat/common/lib下是不是有个log4j的jar啊?删了(jin)试试Q应该没问题?br />

]]>
转蝲一log4j配置的文章,不过q里的方法中Q要?java中指?propertiesҎ(gu)的\径,而其他一些方法中都说攑֜classes下就可以?jin)的Q到底可不可以呢Q?/title><link>http://www.tkk7.com/flysky19/articles/98079.html</link><dc:creator>不断前进的小乌龟</dc:creator><author>不断前进的小乌龟</author><pubDate>Mon, 05 Feb 2007 09:55:00 GMT</pubDate><guid>http://www.tkk7.com/flysky19/articles/98079.html</guid><wfw:comment>http://www.tkk7.com/flysky19/comments/98079.html</wfw:comment><comments>http://www.tkk7.com/flysky19/articles/98079.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/flysky19/comments/commentRss/98079.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/flysky19/services/trackbacks/98079.html</trackback:ping><description><![CDATA[urlQhttp://darkbachelor.bokee.com/viewdiary.13185611.html<br /><br /><br /><br />log4j?br /><br /><br /><br />单的说log4j是帮助开发h员进行日志输出管理的APIcd。它最重要的特点就<br /><br /><br /><br />可以配置文g灉|的设|日志信息的优先U、日志信息的输出目的C?qing)日志信息的输出格式?br /><br /><br /><br />Log4j除了(jin)可以记录E序q行日志信息外还有一重要的功能就是用来显C试信息。程序员l常?x)遇到脱java ide环境调试E序的情况,q时大多Ch?x)选择使用System.out.println语句输出某个变量值的Ҏ(gu)q行调试。这样会(x)带来一个非帔R?ch)的问题Q一旦哪天程序员军_不要昄q些System.out.println的东西了(jin)只能一行行的把q些垃圾语句注释掉。若哪天又需调试变量|则只能再一行行Lq些注释恢复System.out.println语句。用log4j可以很好的处理类似情c(din)?br /><br /><br /><br />log4j使用Ҏ(gu)<br /><br /><br /><br />下面介绍的是log4j一些理论方面的知识Q读者觉得枯燥的话可以蟩q本节直接阅ȝ三节实例部分?br /><br /><br /><br />  1、定义配|文?br /><br /><br /><br />   首先使用配置文g我们的应用程序更加灵z配|log日志输出方式包括输出优先U、输出目的地、输出格式。Log4j支持两种配置文g格式Q一U是XML格式的文Ӟ一U是JavaҎ(gu)文件log4j.propertiesQ键=|(j)。下面将介绍使用log4j.properties文g作ؓ(f)配置文g的方法:(x)<br /><br /><br /><br />  ①配|根LoggerQ其语法为:(x)0<br /><br /><br /><br />  log4j.rootLogger = [ level ] , appenderName, appenderName, ?<br /><br /><br /><br />  其中Qlevel 是日志记录的优先U,分ؓ(f)OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的别。Log4j只用四个别,优先U从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的U别Q?zhn)可以控制到应用程序中相应U别的日志信息的开兟뀂比如在q里定义?jin)INFOU别Q则应用E序中所有DEBUGU别的日志信息将不被打印出来?appenderName是指定日志信息输出到哪个地斏V可同时指定多个输出目的地?<br /><br /><br /><br />  ②配|日志信息输出目的地AppenderQ其语法为:(x)<br /><br /><br /><br />  log4j.appender.appenderName = fully.qualified.name.of.appender.class <br />  log4j.appender.appenderName.option1 = value1 <br />  ?<br />  log4j.appender.appenderName.option = valueN <br /><br /><br /><br />  其中QLog4j提供的appender有以下几U:(x) <br />  org.apache.log4j.ConsoleAppenderQ控制台Q, <br />  org.apache.log4j.FileAppenderQ文Ӟ(j)Q?<br />  org.apache.log4j.DailyRollingFileAppenderQ每天生一个日志文Ӟ(j)Q?br />  org.apache.log4j.RollingFileAppenderQ文件大到达指定尺寸的时候生一个新的文Ӟ(j)Q?<br />  org.apache.log4j.WriterAppenderQ将日志信息以流格式发送到L指定的地方)(j) <br /><br /><br /><br />  ③配|日志信息的格式Q布局Q,其语法ؓ(f)Q?br /><br /><br /><br />  log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class <br />  log4j.appender.appenderName.layout.option1 = value1 <br />  ?<br />  log4j.appender.appenderName.layout.option = valueN <br /><br /><br /><br />  其中QLog4j提供的layout有以下几U:(x) <br />  org.apache.log4j.HTMLLayoutQ以HTML表格形式布局Q, <br />  org.apache.log4j.PatternLayoutQ可以灵zd指定布局模式Q, <br />  org.apache.log4j.SimpleLayoutQ包含日志信息的U别和信息字W串Q, <br />  org.apache.log4j.TTCCLayoutQ包含日志生的旉、线E、类别等{信息)(j) <br /><br /><br /><br />  Log4J采用cMC语言中的printf函数的打印格式格式化日志信息Q打印参数如下:(x) %m 输出代码中指定的消息<br /><br /><br /><br />  %p 输出优先U,即DEBUGQINFOQW(xu)ARNQERRORQFATAL <br />  %r 输出自应用启动到输出该log信息耗费的毫U数 <br />  %c 输出所属的cȝQ通常是所在类的全?<br />  %t 输出产生该日志事件的U程?<br />  %n 输出一个回车换行符QW(xu)indowsq_为“\r\n”,Unixq_为“\n?<br />  %d 输出日志旉点的日期或时_(d)默认格式为ISO8601Q也可以在其后指定格式,比如Q?d{yyy MMM dd HH:mm:ss,SSS}Q输出类|(x)2002q?0?8?22Q?0Q?8Q?21 <br />  %l 输出日志事g的发生位|,包括cȝ名、发生的U程Q以?qing)在代码中的行数。D例:(x)Testlog4.main(TestLog4.java:10) <br /><br /><br /><br />  2、在代码中用Log4j <br /><br /><br /><br />  ①得到记录器<br /><br /><br /><br />  使用Log4jQ第一步就是获取日志记录器Q这个记录器负责控制日志信息。其语法为:(x) <br /><br /><br /><br />  public static Logger getLogger( String name) <br /><br /><br /><br />  通过指定的名字获得记录器Q如果必要的话,则ؓ(f)q个名字创徏一个新的记录器。Name一般取本类的名字,比如Q?<br /><br /><br /><br />  static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )<br /><br /><br /><br />  ②读取配|文?<br /><br /><br /><br />  当获得了(jin)日志记录器之后,W二步将配置Log4j环境Q其语法为:(x)<br /><br /><br /><br />BasicConfigurator.configure ()Q?自动快速地使用~省Log4j环境?br />  PropertyConfigurator.configure ( String configFilename) Q读取用Java的特性文件编写的配置文g?br /><br /><br /><br />例:(x)PropertyConfigurator.configure(".\\src\\log4j.properties")<br />  DOMConfigurator.configure ( String filename ) Q读取XML形式的配|文件?br /><br /><br /><br />  ③插入记录信息(格式化日志信息)(j)<br /><br /><br /><br />  当上两个必要步骤执行完毕Q就可轻村֜使用不同优先U别的日志记录语句插入到(zhn)想记录日志的Q何地方,其语法如下:(x)<br /><br /><br /><br />  Logger.debug ( Object message ) ;<br />  Logger.info ( Object message ) ;<br />  Logger.warn ( Object message ) ;<br />  Logger.error ( Object message ) ;<br /><br /><br /><br />log4j范例E序<br /><br /><br /><br />下面用一个最单的范例E序来进一步说明log4j的用方法。程序代码如下:(x)<br /><br /><br /><br /> <br /><br /><br /><br />import org.apache.log4j.*;<br /><br /><br /><br /> <br /><br /><br /><br />public class LogTest {<br /><br /><br /><br /> <br /><br /><br /><br /> <br /><br /><br /><br />    static Logger logger = Logger.getLogger(LogTest.class.getName());<br /><br /><br /><br /> <br /><br /><br /><br />    public static void main(String[] args) {<br /><br /><br /><br /> <br /><br /><br /><br />        PropertyConfigurator.configure ( ?\\src\log4j.properties?Q?br /><br /><br /><br />logger.debug("Debug ...");<br /><br /><br /><br /> <br /><br /><br /><br />        logger.info("Info ...");<br /><br /><br /><br /> <br /><br /><br /><br />        logger.warn("Warn ...");<br /><br /><br /><br /> <br /><br /><br /><br />        logger.error("Error ...");<br /><br /><br /><br /> <br /><br /><br /><br />    }<br /><br /><br /><br />}<br /><br /><br /><br />E序说明Q?br /><br /><br /><br />?static Logger logger = Logger.getLogger(LogTest.class.getName());是创徏一个属于LogTestcȝLogger对象Q创建时要告知Logger你当前的Class是什么?br /><br /><br /><br />?PropertyConfigurator.configure ( “log4j.properties?是说用当前工E目录下的src文g夹中的log4j.properties文g作ؓ(f)配置文g。若log4j.properties攑֜工程根目录下也可不写此句Q程序会(x)自动扑ֈ配置文g?br /><br /><br /><br />?logger.debug是输出debug的信息,logger.info是输出提示信息Qlogger.warn是昄警告信息Qlogger.error是昄错误信息?br /><br /><br /><br /> <br /><br /><br /><br />下面是配|文件log4j.properties的内容:(x)<br /><br /><br /><br />log4j.rootCategory=DEBUG, stdoutQR<br /><br /><br /><br />log4j.appender.stdout=org.apache.log4j.ConsoleAppender<br /><br /><br /><br />log4j.appender.stdout.layout=org.apache.log4j.PatternLayout<br /><br /><br /><br />log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) - %m%n<br /><br /><br /><br />log4j.appender.R=org.apache.log4j.RollingFileAppender<br /><br /><br /><br />log4j.appender.R.File=log.txt<br /><br /><br /><br />log4j.appender.R.MaxFileSize=100KB<br /><br /><br /><br />log4j.appender.R.MaxBackupIndex=1<br /><br /><br /><br />log4j.appender.R.layout=org.apache.log4j.PatternLayout<br /><br /><br /><br />log4j.appender.R.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n<br /><br /><br /><br />E序说明Q?br /><br /><br /><br />?log4j.rootCategory=DEBUG, stdoutQR<br /><br /><br /><br />是说我要显C所有优先权{於和高于Debug的信息?br />"stdout"Q”R”表C我定义?jin)两个输出?随便什么名字都??br /><br /><br /><br />②下面的三行说stdout输出端其实是标准输出ConsoleQ也是屏幕。输出的格式是PatternLayout。{换方式是%5p (%F:%L) - %m%nQ即前五格用来显CZ先权Q再昄当前的文件名Q加当前的行数。最后是logger.debug()或logger.info()或logger.warn()或logger.error()里的信息?n表示回RI?br /><br /><br /><br />③再加上下面六行则log信息不光昄在屏q上Q而且被保存在一个叫"log.txt"的文仉Q文件最大ؓ(f)100KB。如果文件大超q?00KBQ文件会(x)被备份成"log.txt.1"Q新?log.txt"l箋记录log信息?br /><br /><br /><br />接下来我们可以改变log4j.propertiesQ而不需重新~译可以控制log信息是否昄、log信息的输出端cd、输出方式、输出格式,{等。D例如下:(x)<br /><br /><br /><br />①在log4j.properties文g里把"log4j.rootCategory=DEBUG,stdout,R"改写?log4j.rootCategory=OFF, stdout,R"Q这h有的log信息都不?x)显CZ(jin)Q解决了(jin)本文开始提出的问题?br />②在log4j.properties文g里把"log4j.rootCategory=DEBUG,stdout,R"改写?log4j.rootCategory=INFO, stdout,R"Q这样只昄INFO, WARN, ERROR的log信息Q而DEBUG信息不会(x)被显C;<br /><br /><br /><br /> <br /><br /><br /><br />在webE序中用log4j注意问题<br /><br /><br /><br />1、  ?׃jsp或servlet在执行状态时没有当前路径概念Q所有用PropertyConfigurator.configureQStringQ语句找log4j.properties文g时要l出相对于当前jsp或servlet的\径{化成Z个绝对的文gpȝ路径。方法是使用servletcontext.getrealpath(string)语句。例Q?br /><br /><br /><br />//得到当前jsp路径<br /><br /><br /><br />String prefix =  getServletContext().getRealPath("/");<br /><br /><br /><br />//dlog4j.properties<br /><br /><br /><br />PropertyConfigurator.configure(prefix+"\\WEB-INF\\log4j.properties");<br /><br /><br /><br />2、相应的log4j.properties讄某个属性时也要在程序中讄l对路径。例Q?br /><br /><br /><br />log4j.appender.R.File属性设|日志文件存放位|。我们可以用d.properties配置文g的方法进行灵z设|?br /><br /><br /><br /><br />log4e使用说明<br /><br /><br /><br />在了(jin)解了(jin)log4j的功能后Q我们肯定会(x)我们的程序中~写一些Log4j日志记录。对于用Eclipse的程序员Log4e是我们最得力的log4j日志~写助手Q现在开始Log4e之旅?br /><br /><br /><br />Log4e是一个免费的Eclipse PluginQ它可帮助你在你的Java工程中快速加入LogQ?我们可以在http://log4e.jayefem.de/index.php/Download|站上下载Log4e最新版本。下载后相应文件夹拯到Eclipse的插件目录下Q重新EclipseQ在首选项中会(x)多出一个Log4e选项?br /><br /><br /><br />Log4e可以有多个插入LogZ个方法、类Q当然也可以在当前位|插入LogQ同时其也可以把Sysout.out.println()的{换ؓ(f)logQ所有的q一切只需要你点点鼠标或者按一ơ快捷键.<br /><br /><br /><br /><img src ="http://www.tkk7.com/flysky19/aggbug/98079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/flysky19/" target="_blank">不断前进的小乌龟</a> 2007-02-05 17:55 <a href="http://www.tkk7.com/flysky19/articles/98079.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j相比System.out的优?/title><link>http://www.tkk7.com/flysky19/articles/98073.html</link><dc:creator>不断前进的小乌龟</dc:creator><author>不断前进的小乌龟</author><pubDate>Mon, 05 Feb 2007 09:28:00 GMT</pubDate><guid>http://www.tkk7.com/flysky19/articles/98073.html</guid><wfw:comment>http://www.tkk7.com/flysky19/comments/98073.html</wfw:comment><comments>http://www.tkk7.com/flysky19/articles/98073.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/flysky19/comments/commentRss/98073.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/flysky19/services/trackbacks/98073.html</trackback:ping><description><![CDATA[    Log4j是帮助开发h员进行日志输出管理的APIcd。它最重要的特点就可以配置文g灉|的设|日志信息的优先U、日志信息的输出目的C?qing)日志信息的输出格式?br /><br />    Log4j除了(jin)可以记录E序q行日志信息外还有一重要的功能就是用来显C试信息?br /><br />    E序员经怼(x)遇到qjava ide环境调试E序的情况,q时大多Ch?x)选择使用System.out.println语句输出某个变量值的Ҏ(gu)q行调试。这样会(x)带来一个非帔R?ch)的问题Q一旦哪天程序员军_不要昄q些System.out.println的东西了(jin)只能一行行的把q些垃圾语句注释掉。若哪天又需调试变量|则只能再一行行Lq些注释恢复System.out.println语句?br /><br />    使用log4j可以很好的处理类似情c(din)?br /><br /><img src ="http://www.tkk7.com/flysky19/aggbug/98073.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/flysky19/" target="_blank">不断前进的小乌龟</a> 2007-02-05 17:28 <a href="http://www.tkk7.com/flysky19/articles/98073.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Having successfully configuring log4j http://www.tkk7.com/flysky19/articles/98071.html不断前进的小乌龟不断前进的小乌龟Mon, 05 Feb 2007 09:22:00 GMThttp://www.tkk7.com/flysky19/articles/98071.htmlhttp://www.tkk7.com/flysky19/comments/98071.htmlhttp://www.tkk7.com/flysky19/articles/98071.html#Feedback0http://www.tkk7.com/flysky19/comments/commentRss/98071.htmlhttp://www.tkk7.com/flysky19/services/trackbacks/98071.htmlhttp://tomcat.apache.org/faq/logging.html
http://marc.theaimsgroup.com/?l=tomcat-user&m=108330970225012&w=2

Having successfully configuring log4j and after doing some experiments with
Tomcat I've decided to step into the fray!
 
I will use 2 steps actually. Log4j for Tomcat and for Webapp. This was
tested using TC 5.0.19 on a Windows XP machine... yes, yes, please try to
forgive me now....
 
 
Tomcat Log4j Configuration for TC5 (tested on TC 5.0.19)
 
1. Obtain a recent Log4j jar file, i used log4j-1.2.8.jar
2. Place it in the TC common lib directory (<CATALINA_HOME>\common\lib)
3. Construct a log4j.properties file and place it in the TC common classes
directory (<CATALINA_HOME>\common\classes)
 
Sample log4j.properties used for my test (also attached):
 
log4j.rootLogger=ERROR, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
 
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
 
log4j.logger.org.apache=DEBUG
 
4. Start TC5 and watch the logging kick in, a sample log file is attached.
 
WARNING: Performance will suffer
 
 
 
Tomcat Log4j for Webapp
 
The steps for this were stated in an earlier mail, its quite simple to do.
 
1. Place the log4j-1.2.8.jar in to the web-inf lib directory (/WEB-INF/lib)
1.1 I also placed the commons-logging.jar file in my web-app also as I am
quite confortable with commons logging.
2. Place your log4j.properties file in the web-inf classes directory
(WEB-INF/classes)
3. Configure your log4j.properties file as appropriate for your application.
 
As one person was enquiring about, i did activate the struts and file upload
logging in my webapp at one time to diagnose a problem, here is the config
i used:
 
log4j.rootLogger=ERROR, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
 
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
 
# Print only messages of level DEBUG or above in the Apache commons and
struts file upload
log4j.logger.org.apache.commons.httpclient=DEBUG
log4j.logger.org.apache.commons.fileupload=DEBUG
log4j.logger.org.apache.struts.upload=DEBUG
 
WARNING: There will be a performance impact with the above logging! :)
WARNING: You can also activate TC logging as well from this log4j.properties
file so don't be too general with your package paths, as again turning on to
much logging with affect performance.
 
4. Instantiate your logging class in whatever way you see fit and run your
webapp and the logging will be activated.
 
If i've botched up my explanation let me know and I will correct it.
 
Regards,
Shane.

 




]]>
关于log4j的一些内容记?/title><link>http://www.tkk7.com/flysky19/articles/98031.html</link><dc:creator>不断前进的小乌龟</dc:creator><author>不断前进的小乌龟</author><pubDate>Mon, 05 Feb 2007 07:31:00 GMT</pubDate><guid>http://www.tkk7.com/flysky19/articles/98031.html</guid><wfw:comment>http://www.tkk7.com/flysky19/comments/98031.html</wfw:comment><comments>http://www.tkk7.com/flysky19/articles/98031.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/flysky19/comments/commentRss/98031.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/flysky19/services/trackbacks/98031.html</trackback:ping><description><![CDATA[1.tomcat下面 Log4j.properties不认, 只认log4j.properties <br />resource url:<br />http://www.tkk7.com/zJun/archive/2006/06/30/55511.html#55860<br /><br />2.关于“log4j:WARN Please initialize the log4j system properly”:(x)<br />  你的tomcat/common/lib下是不是有个log4j的jar啊?删了(jin)试试Q应该没问题?br /><br />resource url:http://www.yeyan.info/100-tomcat-t622836.htm<br /><br />3.在tomcat中配|log4jg只要三步可以实C(jin)Q?br />W一步:(x)把log4j.jar攑օ$CATALINA_HOME/common/lib.<br />W二步:(x)log4j配置文g,可以是log4j.xml,log4j.propertiesQ放q你的项?WEB-INF/classes/目录?<br />W三步:(x)重启tomcat.<br /><br />q样直接?javaE序中用LoggerQ就可以按照配置文g输出日志?jin)?br /><br />呜呜Q?57已经搬走?jin),只能回到学校试验一下?br /><br />可能自己以前是因ؓ(f)没有把配|文件命名ؓ(f)log4j.properties,而是命名Z(jin)log4jconfig.propertiesQ所以tomcatL找不到这个配|文件?br /><br />4.在tomcat中配|log4j步骤补充Q?br />  刚又查了(jin)几个权威资料Q好像tomcat中配|log44jq必M载commons-logging.jar (not commons-logging-api.jar) 和log4j.jar一h?$CATALINA_HOME/common/lib . <br />相关资料Q?br />1.使用log4j为Tomcat输出日志<br />http://www.chinawin.net/myblog/archives/314-log4jTomcataeoeOE.html<br /><br />1. 如果Tomcat当前正在q行Q关闭Tomcat?br />2. 从Apache的网站下载Commons Logging发行包?br />3. 压~包中的commons-logging.jar解压~到你Tomcat安装路径的common/lib目录中?br />4. 从Apache的网站下载Log4j发行包?br />5. 压~包中的log4j-1.2.12.jar解压~到你Tomcat安装路径的common/lib目录中?br />6. 在Tomcat安装路径的common/classes 创徏log4j的配|文件log4j.propertiesQ配|文件在随后一节)(j)?br />7. 重vTomcat <br /><br />2.Tomcat FAQ<br />Logging http://tomcat.apache.org/faq/logging.html#userWebapps<br /><br />How should I log in my own webapps? <br />While you can use System.out and System.err to log, we strongly recommend using a toolkit like Log4J or JDK 1.4's java.util.logging package. With these toolkits, you have significantly more functionality (for example, sending emails, logging to a database, controlling at runtime the logging level of different classes, inspecting the logs with a graphical viewer, etc.) than with Tomcat's built-in default logging configuration. <br /><br />We also recommend that you separate your logging from Tomcat's internal logging. That means you should bundle your logging toolkit with your webapp. If you're using Log4J, for example, place the Log4J jar in the WEB-INF/lib directory of your webapp and the Log4J configuration file in the WEB-INF/classes directory of your webapp. This way different web applications can have different logging configurations and you don't need to worry about them interfering with each other. <br /><br />3.Logging in Tomcat<br />http://tomcat.apache.org/tomcat-5.5-doc/logging.html<br /><p>Follow the following steps to setup a file named tomcat.log that has internal Tomcat logging output to it: </p><p></p><ol><li>Create a file called log4j.properties with the following content and save it into common/classes. <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tbody><tr><td bgcolor="#023264" height="1" width="1"><img src="./images/void.gif" border="0" height="1" hspace="0" width="1" /></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" border="0" height="1" hspace="0" width="1" /></td><td bgcolor="#023264" height="1" width="1"><img src="./images/void.gif" border="0" height="1" hspace="0" width="1" /></td></tr><tr><td bgcolor="#023264" width="1"><img src="./images/void.gif" border="0" height="1" hspace="0" width="1" /></td><td bgcolor="#ffffff" height="1"><pre> log4j.rootLogger=debug, R <br /> log4j.appender.R=org.apache.log4j.RollingFileAppender <br /> log4j.appender.R.File=${catalina.home}/logs/tomcat.log <br /> log4j.appender.R.MaxFileSize=10MB <br /> log4j.appender.R.MaxBackupIndex=10 <br /> log4j.appender.R.layout=org.apache.log4j.PatternLayout <br /> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n <br /> log4j.logger.org.apache.catalina=DEBUG, R<br /></pre></td><td bgcolor="#023264" width="1"><img src="./images/void.gif" border="0" height="1" hspace="0" width="1" /></td></tr><tr><td bgcolor="#023264" height="1" width="1"><img src="./images/void.gif" border="0" height="1" hspace="0" width="1" /></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" border="0" height="1" hspace="0" width="1" /></td><td bgcolor="#023264" height="1" width="1"><img src="./images/void.gif" border="0" height="1" hspace="0" width="1" /></td></tr></tbody></table></div></li><li><a >Download Log4J</a> (v1.2 or later) and place the log4j jar in $CATALINA_HOME/common/lib. </li><li><a >Download Commons Logging</a> and place the commons-logging.jar (not commons-logging-api.jar) in $CATALINA_HOME/common/lib with the log4j jar. </li><li>Start Tomcat </li></ol><br /><br />参考资料:(x)<br />1.Tomcat5.5 with log4j  <br />http://itvincent.blog.hexun.com/5561505_d.html<br /><br />2.log4j-1.2.9.在tomcat5.5下面的配|?br />http://www.cnblogs.com/zhoup/archive/2006/01/18/319817.aspx<br /><br /><img src ="http://www.tkk7.com/flysky19/aggbug/98031.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/flysky19/" target="_blank">不断前进的小乌龟</a> 2007-02-05 15:31 <a href="http://www.tkk7.com/flysky19/articles/98031.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>配置log4jhttp://www.tkk7.com/flysky19/articles/96799.html不断前进的小乌龟不断前进的小乌龟Tue, 30 Jan 2007 14:22:00 GMThttp://www.tkk7.com/flysky19/articles/96799.htmlhttp://www.tkk7.com/flysky19/comments/96799.htmlhttp://www.tkk7.com/flysky19/articles/96799.html#Feedback0http://www.tkk7.com/flysky19/comments/commentRss/96799.htmlhttp://www.tkk7.com/flysky19/services/trackbacks/96799.html一、在java project中配|log4j:
参考资料:(x)
Log4j的中文文?http://dev.csdn.net/develop/article/29/29441.shtm

目录l构Q?br />Log4jConfigPro
      |______study
                |____Bar.java,MyApp.java

      |______resource
                |____log4jConfig.properties

上述三个文g的内Ҏ(gu)从参考资料上拯的,但是参考资料上留空.properties文g的\径参数问题,java project中用相对\径如下:(x)
PropertyConfigurator.configure("resource/log4jconfig.properties");

java project中相对\径问题详见“java 使用相对路径d文g”一文?br />

二、在web project中配|log4jQ?br />1.q不?x),好像要在servlet中配|?Q?br />
2.不能像在java project中一L(fng)相对路径的方式读取。在web project中要使用如下语句才能d.properties文gQ?br />
 PropertyConfigurator.configure("src/study/log4jconfig.properties");

注意Q这时的相对路径?src/study/log4jconfig.properties"Q而不?resource/log4jconfig.properties"?br />

因ؓ(f)PropertyConfigurator.configure()实际上是用FileInputStreamd文gQ根据\径出错信息可知道Q,昄Q这U方式是不适合web project的,因ؓ(f)开发完成后Q将只有webroot下面的目录在跑?br />

web project中到底应该如何配|,以及(qing)如何使用相对路径Q有待进一步学?fn)和解决。未完待l。。?br />




]]>
վ֩ģ壺 þɫһ| ߹ۿ| 57paoƵ| mvƷmvձmv| Ѹվ| Ƶ| ޹Ʒպ߹ۿ| ĻƷѾþӰԺ| ˽ȥŮˬƵ| һ| ޹˾þһWWW| ҹ׾糡| ޳avƬ롿| պһҳƷ| þþþþѹۿ| AAAAAٸ߳Ƭѿ| һ߹ۿ | ѹۿaëƬվ| һѹۿ| 97þù޾Ʒ| Ļר| պƵ| Ļ| jyzzjyzzѹۿ| Ļ| ߲޵һĻ| ѿŮˬƵ| jŮjڲվ| ƷþþþþӰ| þþƷAV鶹| ҹ99Ƶ| 97߹ۿƵ| fc2˳| һ24޿| þþۺɫһ | þAVҹƷһ| Ʒþ㽶Ѳ| wwwƵ߹ۿ| ҹѸþӰԺ| Ƶվѿ| ޹AVӰԺ|