﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-honeybee-文章分类-Log4j配置</title><link>http://www.blogjava.net/honeybee/category/27032.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Nov 2007 16:29:19 GMT</lastBuildDate><pubDate>Fri, 02 Nov 2007 16:29:19 GMT</pubDate><ttl>60</ttl><item><title>Log4j配置备忘</title><link>http://www.blogjava.net/honeybee/articles/157736.html</link><dc:creator>sun</dc:creator><author>sun</author><pubDate>Fri, 02 Nov 2007 05:51:00 GMT</pubDate><guid>http://www.blogjava.net/honeybee/articles/157736.html</guid><wfw:comment>http://www.blogjava.net/honeybee/comments/157736.html</wfw:comment><comments>http://www.blogjava.net/honeybee/articles/157736.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/honeybee/comments/commentRss/157736.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/honeybee/services/trackbacks/157736.html</trackback:ping><description><![CDATA[&nbsp;
<h1 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-size: 15pt; font-family: 宋体">一</span><span style="font-size: 15pt">.</span><span style="font-size: 15pt; font-family: 宋体">写这篇文章的目的</span></h1>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">本人用的</span>Tomcat<span style="font-family: 宋体">版本一直为</span>Tomcat5.0.28<span style="font-family: 宋体">（</span>JDK1.5.0_09<span style="font-family: 宋体">）最近，改用了</span>Tomcat5.5<span style="font-family: 宋体">之后，发现了一个奇怪的问题，</span><span style="color: red">logs</span><span style="color: red; font-family: 宋体">目录下不能产生追踪</span><span style="color: red">Web</span><span style="color: red; font-family: 宋体">应用程序的日志</span><span style="font-family: 宋体">。到</span>Apche<span style="font-family: 宋体">上察看才知道原因：原来是为了根据开发者的癖好而进行的改变，当你需要进行追踪时，要自己进行</span>Log4j.properties<span style="font-family: 宋体">配置。具体位置：</span><a href="http://tomcat.apache.org/tomcat-5.5-doc/logging.html">http://tomcat.apache.org/tomcat-5.5-doc/logging.html</a> </p>
<h1 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-size: 15pt; font-family: 宋体">二</span><span style="font-size: 15pt">.</span><span style="font-size: 15pt; font-family: 宋体">文件下载</span></h1>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">1.</span><span style="font-size: 12pt">加载 log4j-1.2.8.jar&nbsp;&nbsp; </span></h2>
<p style="text-indent: 21pt; line-height: 18pt">Log4j.jar<span style="font-family: 宋体">下载地址：</span>http://www.apache.org/dist/jakarta/log4j/jakarta-log4j-1.2.8.zip</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4e.jar<span style="font-family: 宋体">下载地址：</span>http://log4e.jayefem.de/index.php/Download</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">说明：</span>log4e<span style="font-family: 宋体">为</span>Eclipse<span style="font-family: 宋体">的</span>log4j<span style="font-family: 宋体">插件，放入插件文件夹后重起</span>Eclipse<span style="font-family: 宋体">，程序里右键即可看到</span>Log4E<span style="font-family: 宋体">选项。</span></p>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">2.</span><span style="font-size: 12pt">在根路径配置log4j.properties，参照下面的log4j配置代码</span></h2>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">3.</span><span style="font-size: 12pt">在需要记录日志的java文件、jsp或servlet中添加下面的记录日志代码</span></h2>
<h1 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-size: 15pt; font-family: 宋体">三</span><span style="font-size: 15pt">.</span><span style="font-size: 15pt; font-family: 宋体">基本说明</span></h1>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">1.</span><span style="font-size: 12pt">配置根Logger，其语法为：</span></h2>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.rootLogger = [ level ] , appenderName, appenderName, ...</p>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt; font-family: 宋体">1)level </span><span style="font-size: 12pt; font-family: 宋体">是日志记录的优先级</span></h3>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j<span style="font-family: 宋体">中有五级</span>logger </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">FATAL 0 </span></p>
<p style="line-height: 18pt"><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ERROR 3 </span></p>
<p style="line-height: 18pt"><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WARN 4 </span></p>
<p style="line-height: 18pt"><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INFO 6 </span></p>
<p style="line-height: 18pt"><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DEBUG 7 </span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">如果</span>log4j.rootLogger=WARN, <span style="font-family: 宋体">则意味着只有</span>WARN,ERROR,FATAL,<span style="font-family: 宋体">被输出，</span>DEBUG,INFO<span style="font-family: 宋体">将被屏蔽掉</span>.</p>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-size: 12pt; font-family: 宋体">&nbsp;&nbsp; 2)appenderName</span><span style="font-size: 12pt; font-family: 宋体">就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。</span></h3>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">设置输出地</span>appenderName<span style="font-family: 宋体">为</span>ConsoleAppender(<span style="font-family: 宋体">控制台</span>) </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.appenderName=org.apache.log4j.ConsoleAppender </p>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">2.</span><span style="font-size: 12pt">配置日志信息输出目的地Appender：</span></h2>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-size: 12pt; font-family: 宋体">&nbsp;&nbsp; 1)</span><span style="font-size: 12pt; font-family: 宋体">基本语法：</span></h3>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #RollingFileAppender</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R=org.apache.log4j.RollingFileAppender</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ......</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #ConsoleAppender</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.B1=org.apache.log4j.ConsoleAppender</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ......</p>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt; font-family: 宋体">2)Log4j</span><span style="font-size: 12pt; font-family: 宋体">提供的appender有以下几种：</span></h3>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于控制台</span>: <span style="color: red">org.apache.log4j.ConsoleAppender</span><span style="font-family: 宋体">，</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于文件</span>: <span style="color: red">org.apache.log4j.FileAppender</span><span style="font-family: 宋体">，</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于每天产生一个日志文件</span>: <span style="color: red">org.apache.log4j.DailyRollingFileAppender</span><span style="font-family: 宋体">，</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (# <span style="font-family: 宋体">应用于</span>socket: org.apache.log4j.RollingFileAppender),</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于文件回滚</span>: <span style="color: red">org.apache.log4j.RollingFileAppender</span><span style="font-family: 宋体">（文件大小到达指定尺寸的时候产生一个新的文件），</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于日志流格式</span>: <span style="color: red">org.apache.log4j.WriterAppender</span><span style="color: red; font-family: 宋体">（</span><span style="font-family: 宋体">将日志信息以流格式发送到任意指定的地方），</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于</span>Log Factor 5 Appender: <span style="color: red">org.apache.log4j.lf5.LF5Appender</span><span style="font-family: 宋体">，</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于发送日志给邮件</span>: <span style="color: red">org.apache.log4j.net.SMTPAppender</span><span style="font-family: 宋体">，</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于数据库</span>:<span style="color: red"> org.apache.log4j.jdbc.JDBCAppender</span></p>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify">3.配置日志信息的格式（布局）：</h2>
<h3 style="margin: 0cm 0cm 0pt; text-indent: 23.6pt; line-height: 18pt"><span style="font-size: 12pt; font-family: 宋体">1)</span><span style="font-size: 12pt; font-family: 宋体">基本语法：</span></h3>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #RollingFileAppender</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.layout=org.apache.log4j.PatternLayout</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ......</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #ConsoleAppender</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.B1.layout=org.apache.log4j.PatternLayout</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.B1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ......</p>
<h3 style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 18pt"><span style="font-size: 12pt; font-family: 宋体">2)Log4j</span><span style="font-size: 12pt; font-family: 宋体">提供的layout有以下几种：</span></h3>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">org.apache.log4j.HTMLLayout</span><span style="font-family: 宋体">（以</span>HTML<span style="font-family: 宋体">表格形式布局），</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">org.apache.log4j.PatternLayout</span><span style="font-family: 宋体">（可以灵活地指定布局模式），</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">org.apache.log4j.SimpleLayout</span><span style="font-family: 宋体">（包含日志信息的级别和信息字符串），</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">org.apache.log4j.TTCCLayout</span><span style="font-family: 宋体">（包含日志产生的时间、线程、类别等等信息）</span></p>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">4.</span><span style="font-size: 12pt">配置文件大小:</span></h2>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.MaxFileSize=500KB </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.MaxBackupIndex=1 </p>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">5.</span><span style="font-size: 12pt">常用输出格式</span></h2>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-size: 12pt; font-family: 宋体">&nbsp;&nbsp; </span><span style="font-weight: normal; font-size: 10.5pt; color: red">1) -X</span><span style="font-weight: normal; font-size: 10.5pt; color: red; font-family: 宋体">号</span><span style="font-weight: normal; font-size: 10.5pt; color: red">:X</span><span style="font-weight: normal; font-size: 10.5pt; color: red; font-family: 宋体">信息输出时左对齐；</span></h3>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-weight: normal; font-size: 10.5pt; color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2) %p:</span><span style="font-weight: normal; font-size: 10.5pt; color: red; font-family: 宋体">日志信息级别</span></h3>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-weight: normal; font-size: 10.5pt; color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3) %d{}:</span><span style="font-weight: normal; font-size: 10.5pt; color: red; font-family: 宋体">日志信息产生时间</span></h3>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-weight: normal; font-size: 10.5pt; color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4) %c:</span><span style="font-weight: normal; font-size: 10.5pt; color: red; font-family: 宋体">日志信息所在地（类名）</span></h3>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-weight: normal; font-size: 10.5pt; color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5) %m:</span><span style="font-weight: normal; font-size: 10.5pt; color: red; font-family: 宋体">产生的日志具体信息</span></h3>
<h3 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-weight: normal; font-size: 10.5pt; color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6) %n:</span><span style="font-weight: normal; font-size: 10.5pt; color: red; font-family: 宋体">输出日志信息换行</span></h3>
<p style="line-height: 18pt"><span style="font-family: 宋体">如</span>: log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n</p>
<p style="line-height: 18pt"><span style="font-family: 宋体">对应</span>Log<span style="font-family: 宋体">文件</span>: 2007-11-02 10:38:14,735 [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/sshfile]]-[INFO] Initializing Spring root WebApplicationContext</p>
<h1 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-size: 15pt; font-family: 宋体">四</span><span style="font-size: 15pt">.</span><span style="font-size: 15pt; font-family: 宋体">举例说明</span><span style="font-size: 15pt">: </span></h1>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">1</span><span style="font-size: 12pt">基本例子: </span></h2>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.rootLogger=INFO,R&nbsp;//<span style="font-family: 宋体">配置根</span>Logger,<span style="font-family: 宋体">其优先级为</span>INFO,<span style="font-family: 宋体">指定到单一输出目的</span>R<span style="font-family: 宋体">中</span>. </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #RollingFileAppender&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R=org.apache.log4j.RollingFileAppender&nbsp;&nbsp;&nbsp; //<span style="font-family: 宋体">应用于文件回滚</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.Threshold=INFO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<span style="font-family: 宋体">配置文件回滚优先级为</span>INFO</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.File=F:/Program Files/Java/Tomcat 5.5/logs/logs_tomcat.log&nbsp;&nbsp;&nbsp; //<span style="font-family: 宋体">日志输出路径</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.MaxFileSize=100KB&nbsp;&nbsp;&nbsp;&nbsp; //<span style="font-family: 宋体">配置文件大小</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.MaxBackupIndex=1</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.layout=org.apache.log4j.PatternLayout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<span style="font-family: 宋体">灵活地指定布局模式</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n&nbsp;//<span style="font-family: 宋体">配置输出形式</span>,<span style="font-family: 宋体">包括</span>{<span style="font-family: 宋体">日志日期</span>} [<span style="font-family: 宋体">所在位置</span>]-[<span style="font-family: 宋体">级别</span>] <span style="font-family: 宋体">产生具体信息并换行</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #ConsoleAppender</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.B1=org.apache.log4j.ConsoleAppender&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<span style="font-family: 宋体">应用于控制台</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.Threshold=DEBUG &nbsp;&nbsp;&nbsp;&nbsp; /<span style="font-family: 宋体">配置文件回滚优先级为</span>DEBUG</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.B1.layout=org.apache.log4j.PatternLayout&nbsp;&nbsp; //<span style="font-family: 宋体">灵活地指定布局模式</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.B1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.B1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n</p>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">2</span><span style="font-size: 12pt">关于Log4j比较全面的配置</span></h2>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOG4J<span style="font-family: 宋体">的配置之简单使它遍及于越来越多的应用中了：</span>Log4J<span style="font-family: 宋体">配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了，</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.rootLogger=DEBUG,CONSOLE,A1,im </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.addivity.org.apache=true </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于控制台</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.Threshold=DEBUG </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.CONSOLE.Target=System.out </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<span style="font-family: 宋体">应用于文件</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.FILE=org.apache.log4j.FileAppender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.FILE.File=file.log </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.FILE.Append=false </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.FILE.layout=org.apache.log4j.PatternLayout </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">用于每天产生一个日志文件</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.A1.File=SampleMessages.log4j </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j' </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Use this layout for LogFactor 5 analysis </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">应用于文件回滚</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.ROLLING_FILE.Threshold=ERROR </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.ROLLING_FILE.File=rolling.log </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.ROLLING_FILE.Append=true </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.ROLLING_FILE.MaxFileSize=10KB </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.ROLLING_FILE.MaxBackupIndex=1 </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<span style="font-family: 宋体">应用于</span>socket </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.SOCKET.RemoteHost=localhost </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.SOCKET.Port=5001 </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.SOCKET.LocationInfo=true </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Set up for Log Facter 5 </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Log Factor 5 Appender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000 </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">发送日志给邮件</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.MAIL.Threshold=FATAL </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.MAIL.BufferSize=10 </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.MAIL.From=xxx@www.xxx.com </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.MAIL.SMTPHost=www.wusetu.com </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.MAIL.Subject=Log4J Message </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.MAIL.To=xxx@www.xxx.com </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <span style="font-family: 宋体">用于数据库</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.DATABASE.user=root </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.DATABASE.password= </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">输出到</span>2000NT<span style="font-family: 宋体">日志</span></p>
<p style="text-indent: 21pt; line-height: 18pt"><span style="font-family: 宋体">把</span>Log4j<span style="font-family: 宋体">压缩包里的</span>NTEventLogAppender.dll<span style="font-family: 宋体">拷到</span>WINNT"SYSTEM32<span style="font-family: 宋体">目录下</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.logger.NTlog=FATAL, A8</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # APPENDER A8</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender</p>
<p style="text-indent: 21pt; line-height: 18pt">log4j.appender.A8.Source=JavaTest</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.A8.layout=org.apache.log4j.PatternLayout</p>
<p style="text-indent: 21pt; line-height: 18pt">log4j.appender.A8.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<span style="font-family: 宋体">自定义</span>Appender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.im.host = mail.cybercorlin.net </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.im.username = username </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.im.password = password </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.im.recipient = xxx@xxx.net </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.im.layout=org.apache.log4j.PatternLayout </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p>
<h1 style="margin: 0cm 0cm 0pt; line-height: 18pt"><span style="font-size: 15pt; font-family: 宋体">五</span><span style="font-size: 15pt">.</span><span style="font-size: 15pt; font-family: 宋体">参考：</span></h1>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">1 log4j.xml</span><span style="font-size: 12pt">配置</span></h2>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">本文是对</span>log4j.properties<span style="font-family: 宋体">配置的总结，常用</span>log4j<span style="font-family: 宋体">配置，一般可以采用两种方式：</span>.properties<span style="font-family: 宋体">和</span>.xml,<span style="font-family: 宋体">对于</span>.xml<span style="font-family: 宋体">的配置，参考如下例子：</span></p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.xml</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;?xml version="1.0" encoding="GB2312" ?&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;appender name="com.david.all" class="org.apache.log4j.RollingFileAppender"&gt;&nbsp;&nbsp; </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;!-- <span style="font-family: 宋体">设置通道</span>ID:com.david.all<span style="font-family: 宋体">和输出方式：</span>org.apache.log4j.RollingFileAppender --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="File" value="F:/Program Files/Java/Tomcat 5.5/logs/all.log" /&gt;&lt;!-- <span style="font-family: 宋体">设置</span>File<span style="font-family: 宋体">参数：日志输出文件名</span> --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="Append" value="false" /&gt;&lt;!-- <span style="font-family: 宋体">设置是否在重新启动服务时，在原有日志的基础添加新日志</span> --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="MaxBackupIndex" value="10" /&gt; </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;layout class="org.apache.log4j.PatternLayout"&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="ConversionPattern" value="%p (%c:%L)- %m%n" /&gt;&lt;!-- <span style="font-family: 宋体">设置输出文件项目和格式</span> --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;/layout&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;/appender&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;appender name="com.david.sun" class="org.apache.log4j.RollingFileAppender"&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="File" value="F:/Program Files/Java/Tomcat 5.5/logs/david.log" /&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="Append" value="true" /&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;param name="MaxFileSize" value="10240" /&gt; &lt;!-- <span style="font-family: 宋体">设置文件大小</span> --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="MaxBackupIndex" value="10" /&gt; </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;layout class="org.apache.log4j.PatternLayout"&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="ConversionPattern" value="%p (%c:%L)- %m%n" /&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;/layout&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;/appender&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;logger name="david.log"&gt; &lt;!-- <span style="font-family: 宋体">设置域名限制，即</span>david.log<span style="font-family: 宋体">域及以下的日志均输出到下面对应的通道中</span> --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;level value="debug" /&gt;&lt;!-- <span style="font-family: 宋体">设置级别</span> --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;appender-ref ref="com.david.sun" /&gt;&lt;!-- <span style="font-family: 宋体">与前面的通道</span>id<span style="font-family: 宋体">相对应</span> --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;/logger&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;root&gt; &lt;!-- <span style="font-family: 宋体">设置接收所有输出的通道</span> --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;appender-ref ref="com.david.all" /&gt;&lt;!-- <span style="font-family: 宋体">与前面的通道</span>id<span style="font-family: 宋体">相对应</span> --&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;/root&gt;</p>
<p style="line-height: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/log4j:configuration&gt;</p>
<h2 style="text-justify: inter-ideograph; margin: 0cm 0cm 0pt; line-height: 18pt; text-align: justify"><span style="font-size: 12pt">2 Logging in Tomcat</span></h2>
<table cellspacing="0" cellpadding="0" border="0">
    <tbody>
        <tr>
            <td style="padding-right: 1.5pt; padding-left: 1.5pt; background: #525d76; padding-bottom: 1.5pt; padding-top: 1.5pt">
            <p style="line-height: 18pt"><a name="Introduction"><strong><span style="color: white; font-family: Arial">Introduction</span></strong></a></p>
            </td>
        </tr>
        <tr>
            <td style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; padding-top: 1.5pt">
            <p style="line-height: 18pt"><span style="color: black; font-family: 宋体">Tomcat 5.5 uses <a href="http://jakarta.apache.org/commons/logging"><span style="color: #525d76">Commons Logging</span></a> throughout its internal code allowing the developer to choose a logging configuration that suits their needs, e.g java.util.logging or <a href="http://logging.apache.org/log4j"><span style="color: #525d76">Log4J</span></a>. Commons Logging provides Tomcat the ability to log hierarchially across various log levels without needing to rely on a particular logging implementation. </span></p>
            <p style="line-height: 18pt"><span style="color: black; font-family: 宋体">An important consequence for Tomcat 5.5 is that the &lt;Logger&gt; element found in previous versions to create a localhost_log is no longer a valid nested element of &lt;Context&gt;. Instead, the default Tomcat configuration will use java.util.logging. If the developer wishes to collect detailed internal Tomcat logging (i.e what is happening within the Tomcat engine), then they should configure a logging system such as java.util.logging or log4j as detailed next. </span></p>
            </td>
        </tr>
    </tbody>
</table>
<table cellspacing="0" cellpadding="0" border="0">
    <tbody>
        <tr>
            <td style="padding-right: 1.5pt; padding-left: 1.5pt; background: #525d76; padding-bottom: 1.5pt; padding-top: 1.5pt">
            <p style="line-height: 18pt"><a name="log4j"><strong><span style="color: white; font-family: Arial">log4j</span></strong></a></p>
            </td>
        </tr>
        <tr>
            <td style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; padding-top: 1.5pt">
            <p style="line-height: 18pt"><span style="color: black; font-family: 宋体">Tomcat 5.5 has done away with localhost_log which you may be familiar with as the runtime exception/stack trace log. These types of error are usually thrown by uncaught exceptions, but are still valuable to the developer. They can now be found in the stdout log. </span></p>
            <p style="line-height: 18pt"><span style="color: black; font-family: 宋体">If you need to setup cross-context detailed logging from within Tomcat's code, then you can use a simple log4j configuration. Note that this logging van be very verbose depending on the log level you chose to use. Note also that a log4j logging configuration is not going to produce stack trace type logging: those stack traces are output to stdout as discussed above. </span></p>
            <p style="line-height: 18pt"><span style="color: black; font-family: 宋体">Follow the following steps to setup a file named tomcat.log that has internal Tomcat logging output to it: </span></p>
            <p style="margin-left: 72pt; text-indent: -18pt; line-height: 18pt; tab-stops: list 36.0pt"><span style="color: black; font-family: 宋体">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">Create a file called log4j.properties with the following content and save it into common/classes. </span></p>
            <table style="margin-left: 36pt" cellspacing="4" cellpadding="0" border="0">
                <tbody>
                    <tr style="height: 0.75pt">
                        <td style="padding-right: 0cm; padding-left: 0cm; background: white; padding-bottom: 0cm; padding-top: 0cm; height: 0.75pt">
                        <p style="line-height: 18pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="color: black; font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.rootLogger=DEBUG, R </span></p>
                        <p style="line-height: 18pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="color: black; font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R=org.apache.log4j.RollingFileAppender </span></p>
                        <p style="line-height: 18pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="color: black; font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.File=${catalina.home}/logs/tomcat.log </span></p>
                        <p style="line-height: 18pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="color: black; font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.MaxFileSize=10MB </span></p>
                        <p style="line-height: 18pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="color: black; font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.MaxBackupIndex=10 </span></p>
                        <p style="line-height: 18pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="color: black; font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.layout=org.apache.log4j.PatternLayout </span></p>
                        <p style="line-height: 18pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="color: black; font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n</span></p>
                        <p style="line-height: 18pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="color: black; font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
                        </td>
                    </tr>
                </tbody>
            </table>
            <p style="margin-left: 72pt; text-indent: -18pt; line-height: 18pt; tab-stops: list 36.0pt"><span style="color: black; font-family: 宋体">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体"><a href="http://logging.apache.org/log4j"><span style="color: #525d76">Download Log4J</span></a> (v1.2 or later) and place the log4j jar in $CATALINA_HOME/common/lib. </span></p>
            <p style="margin-left: 72pt; text-indent: -18pt; line-height: 18pt; tab-stops: list 36.0pt"><span style="color: black; font-family: 宋体">3.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体"><a href="http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi"><span style="color: #525d76">Download Commons Logging</span></a> and place the commons-logging.jar (not commons-logging-api.jar) in $CATALINA_HOME/common/lib with the log4j jar. </span></p>
            <p style="margin-left: 72pt; text-indent: -18pt; line-height: 18pt; tab-stops: list 36.0pt"><span style="color: black; font-family: 宋体">4.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">Start Tomcat </span></p>
            <p style="line-height: 18pt"><span style="color: black; font-family: 宋体">This log4j configuration sets up a file called tomcat.log in your Tomcat logs folder with a maximum file size of 10MB and up to 10 backups. DEBUG level is specified which will result in the most verbose output from Tomcat. </span></p>
            <p style="line-height: 18pt"><span style="color: black; font-family: 宋体">You can (and should) be more picky about which packages to include in the logging. Tomcat 5.5 uses defines loggers by Engine and Host names. For example, for a default Catalina localhost log, add this to the end of the log4j.properties above. Note that there are known issues with using this naming convention (with square brackets) in log4j XML based configuration files, so we recommend you use a properties file as described until a future version of log4j allows this convention. </span></p>
            <p style="margin-left: 72pt; text-indent: -18pt; line-height: 18pt; tab-stops: list 36.0pt"><span style="font-size: 10pt; color: black; font-family: Symbol">&#183;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R </span></p>
            <p style="margin-left: 72pt; text-indent: -18pt; line-height: 18pt; tab-stops: list 36.0pt"><span style="font-size: 10pt; color: black; font-family: Symbol">&#183;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">log4j.logger.org.apache.catalina.core=DEBUG, R </span></p>
            <p style="margin-left: 72pt; text-indent: -18pt; line-height: 18pt; tab-stops: list 36.0pt"><span style="font-size: 10pt; color: black; font-family: Symbol">&#183;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">log4j.logger.org.apache.catalina.session=DEBUG, R </span></p>
            <p style="line-height: 18pt"><span style="color: black; font-family: 宋体">Be warned a level of DEBUG will produce megabytes of logging and slow startup of Tomcat. This level should be used sparingly when debugging of internal Tomcat operations is required. </span></p>
            <p style="line-height: 18pt"><span style="color: black; font-family: 宋体">Your web applications should certainly use their own log4j configuration. This is valid <em>with</em> the above configuration. You would place a similar log4j.properties file in your web application's WEB-INF/classes folder, and log4j1.2.8.jar into WEB-INF/lib. Then specify your package level logging. This is a basic setup of log4j which does *not* require Commons-Logging, and you should consult the <a href="http://logging.apache.org/log4j/docs/documentation.html"><span style="color: #525d76">log4j documentation</span></a> for more options. This page is intended only as a bootstrapping guide. </span></p>
            </td>
        </tr>
    </tbody>
</table>
   <img src ="http://www.blogjava.net/honeybee/aggbug/157736.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/honeybee/" target="_blank">sun</a> 2007-11-02 13:51 <a href="http://www.blogjava.net/honeybee/articles/157736.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>