﻿<?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-相互学习、共同进步-随笔分类-Log4j</title><link>http://www.blogjava.net/sunjavaer/category/2299.html</link><description>丑男的咖啡</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 08:39:41 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 08:39:41 GMT</pubDate><ttl>60</ttl><item><title>[转帖]Log4j比较全面的配置</title><link>http://www.blogjava.net/sunjavaer/archive/2005/07/24/8361.html</link><dc:creator>丑男</dc:creator><author>丑男</author><pubDate>Sun, 24 Jul 2005 14:25:00 GMT</pubDate><guid>http://www.blogjava.net/sunjavaer/archive/2005/07/24/8361.html</guid><wfw:comment>http://www.blogjava.net/sunjavaer/comments/8361.html</wfw:comment><comments>http://www.blogjava.net/sunjavaer/archive/2005/07/24/8361.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sunjavaer/comments/commentRss/8361.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunjavaer/services/trackbacks/8361.html</trackback:ping><description><![CDATA[<P>LOG4J的配置之简单使它遍及于越来越多的应用中了：Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了， </P>
<P>&nbsp;</P>
<P>log4j.rootLogger=DEBUG,CONSOLE,A1,im <BR>log4j.addivity.org.apache=true </P>
<P>&nbsp;</P>
<P># 应用于控制台 </P>
<P>log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender <BR>log4j.appender.Threshold=DEBUG <BR>log4j.appender.CONSOLE.Target=System.out <BR>log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout <BR>log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n <BR>#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><BR>#应用于文件 </P>
<P>log4j.appender.FILE=org.apache.log4j.FileAppender <BR>log4j.appender.FILE.File=file.log <BR>log4j.appender.FILE.Append=false <BR>log4j.appender.FILE.layout=org.apache.log4j.PatternLayout <BR>log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n <BR># Use this layout for LogFactor 5 analysis </P>
<P>&nbsp;</P>
<P># 应用于文件回滚 </P>
<P>log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender <BR>log4j.appender.ROLLING_FILE.Threshold=ERROR <BR>log4j.appender.ROLLING_FILE.File=rolling.log <BR>log4j.appender.ROLLING_FILE.Append=true <BR>log4j.appender.ROLLING_FILE.MaxFileSize=10KB <BR>log4j.appender.ROLLING_FILE.MaxBackupIndex=1 <BR>log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout <BR>log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </P>
<P><BR>#应用于socket <BR>log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender <BR>log4j.appender.SOCKET.RemoteHost=localhost <BR>log4j.appender.SOCKET.Port=5001 <BR>log4j.appender.SOCKET.LocationInfo=true <BR># Set up for Log Facter 5 <BR>log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout <BR>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><BR># Log Factor 5 Appender <BR>log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender <BR>log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000 </P>
<P>&nbsp;</P>
<P># 发送日志给邮件 </P>
<P>log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender <BR>log4j.appender.MAIL.Threshold=FATAL <BR>log4j.appender.MAIL.BufferSize=10 <BR>log4j.appender.MAIL.From=xxx@www.xxx.com <BR>log4j.appender.MAIL.SMTPHost=www.wusetu.com <BR>log4j.appender.MAIL.Subject=Log4J Message <BR>log4j.appender.MAIL.To=xxx@www.xxx.com <BR>log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout <BR>log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </P>
<P>&nbsp;</P>
<P># 用于数据库 <BR>log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender <BR>log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test <BR>log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver <BR>log4j.appender.DATABASE.user=root <BR>log4j.appender.DATABASE.password= <BR>log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') <BR>log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout <BR>log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n </P>
<P><BR>log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender <BR>log4j.appender.A1.File=SampleMessages.log4j <BR>log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j' <BR>log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout <BR><BR><BR>输出到2000NT日志<BR>&nbsp;把Log4j压缩包里的NTEventLogAppender.dll拷到WINNT\SYSTEM32目录下<BR><BR>&nbsp;log4j.logger.NTlog=FATAL,&nbsp;A8<BR>&nbsp;#&nbsp;APPENDER&nbsp;A8<BR>&nbsp;log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender<BR>&nbsp;log4j.appender.A8.Source=JavaTest<BR>&nbsp;log4j.appender.A8.layout=org.apache.log4j.PatternLayout<BR>&nbsp;log4j.appender.A8.layout.ConversionPattern=%-4r&nbsp;%-5p&nbsp;[%t]&nbsp;%37c&nbsp;%3x&nbsp;-&nbsp;%m%n<BR></P>
<P>#自定义Appender </P>
<P>log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender </P>
<P>log4j.appender.im.host = mail.cybercorlin.net <BR>log4j.appender.im.username = username <BR>log4j.appender.im.password = password <BR>log4j.appender.im.recipient = xxx@xxx.net </P>
<P>log4j.appender.im.layout=org.apache.log4j.PatternLayout <BR>log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</P><img src ="http://www.blogjava.net/sunjavaer/aggbug/8361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunjavaer/" target="_blank">丑男</a> 2005-07-24 22:25 <a href="http://www.blogjava.net/sunjavaer/archive/2005/07/24/8361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学习Log4j笔记</title><link>http://www.blogjava.net/sunjavaer/archive/2005/07/24/8359.html</link><dc:creator>丑男</dc:creator><author>丑男</author><pubDate>Sun, 24 Jul 2005 14:10:00 GMT</pubDate><guid>http://www.blogjava.net/sunjavaer/archive/2005/07/24/8359.html</guid><wfw:comment>http://www.blogjava.net/sunjavaer/comments/8359.html</wfw:comment><comments>http://www.blogjava.net/sunjavaer/archive/2005/07/24/8359.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/sunjavaer/comments/commentRss/8359.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunjavaer/services/trackbacks/8359.html</trackback:ping><description><![CDATA[<P>今天花了一天的时间来配置Log4j，没想到要那么多时间，还问了不少人，帖子也发了不少，不过最终还是搞定了，不过还有些问题，请高手帮我看看，多谢了。<BR><BR>1.首先是配置简单java project<BR>现在来看log4j.propertise<BR>#级别为DEBUG，二个输出端，分别为stdout,R<BR>log4j.logger.helloappLogger=DEBUG, stdout, R</P>
<P>#控制台输出<BR>log4j.appender.stdout=org.apache.log4j.ConsoleAppender<BR>log4j.appender.stdout.layout=org.apache.log4j.PatternLayout<BR>log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) - %m%n</P>
<P>#保存到helloappLoggerlog.txt日志中，大小为100KB<BR>log4j.appender.R=org.apache.log4j.RollingFileAppender<BR>log4j.appender.R.File=F:/code/eclipse/workspace/TestLo4j/log/helloappLoggerlog.txt<BR>log4j.appender.R.MaxFileSize=100KB<BR>log4j.appender.R.MaxBackupIndex=1<BR>log4j.appender.R.layout=org.apache.log4j.PatternLayout<BR>log4j.appender.R.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n</P>
<P>java文件中用到日志<BR>package com;<BR>import org.apache.log4j.*;<BR>public class TestLog4j {<BR>&nbsp;&nbsp;&nbsp; static Logger logger = Logger.getLogger("helloappLogger");<BR>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PropertyConfigurator.configure("log4j.properties"); <BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果.properties在当前目录下可以省略，我放在项目根目录下，和com包同目录<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.debug("Debug ...");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.info("Info ...");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.warn("Warn ...");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.error("Error ...");<BR>&nbsp;&nbsp;&nbsp; }<BR>}</P>
<P>2.web project中配置log4j<BR><BR>还是先来看log4j.perproties</P>
<P>#级别为DEBUG，三个输出端，分别为stdout,FILE,R<BR>log4j.logger.hello=DEBUG, stdout, FILE, R</P>
<P>#stdout是在控制台输出<BR>log4j.appender.stdout=org.apache.log4j.ConsoleAppender<BR>log4j.appender.stdout.layout=org.apache.log4j.PatternLayout<BR>log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) - %m%n</P>
<P>#保存在rolling_log_file.log日志中，appender是RollingFileAppender<BR>#需要注意的是File=F:/code/...，不要写成\，这就一点害死我了<BR>log4j.appender.R=org.apache.log4j.RollingFileAppender<BR>log4j.appender.R.File=F:/code/eclipse/workspace/TestCvs/WebRoot/WEB-INF/rolling_log_file.log<BR>log4j.appender.R.MaxFileSize=100KB<BR>log4j.appender.R.MaxBackupIndex=1<BR>log4j.appender.R.layout=org.apache.log4j.PatternLayout<BR>log4j.appender.R.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n</P>
<P>#保存在log_file.log日志中，appender是FileAppender<BR>log4j.appender.FILE=org.apache.log4j.FileAppender<BR>log4j.appender.FILE.File=F:/code/eclipse/workspace/TestCvs/WebRoot/WEB-INF/log_file.log<BR>log4j.appender.FILE.Append=false<BR>log4j.appender.FILE.layout=org.apache.log4j.PatternLayout<BR>log4j.appender.FILE.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n</P>
<P>之后要把它加入serlet中，和服务器一起启动，方便其他程序使用</P>
<P>public class Log4jServlet extends HttpServlet {<BR>&nbsp;&nbsp;&nbsp; public void init() throws ServletException {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletContext sct = getServletContext();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("[Log4j]: The Root Path: " + sct.getRealPath("/"));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("[Log4j]: InitServlet init start...");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PropertyConfigurator.configure(sct.getRealPath("/")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +getServletConfig().getInitParameter("propfile"));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("[Log4j]: InitServlet init over.");<BR>&nbsp;&nbsp;&nbsp; }<BR>}</P>
<P>&lt;servlet&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;description&gt;init log4j of servlet&lt;/description&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;display-name&gt;log4j servlet&lt;/display-name&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;Log4jServlet&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;com.testCvs.Log4jServlet&lt;/servlet-class&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&lt;param-name&gt;propfile&lt;/param-name&gt;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&lt;param-value&gt;/WEB-INF/log4j.properties&lt;/param-value&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<BR>&lt;/servlet&gt;</P>
<P>注：log4j.properties放在/WEB-INF下，servlet自动加载这个文件</P>
<P>至此所有配置应该成功了，不过还是有些问题没有解决好，问了几个朋友也没有得到好的答复，但是现在可以在控制台和文件中输出日志，基本功能达到了。还请各位有空给我看看这个错误，欢迎指正。</P>
<P>错误如下：<BR>log4j:WARN No appenders could be found for logger (org.apache.jasper.compiler.JspRuntimeContext).<BR>log4j:WARN Please initialize the log4j system properly.</P><img src ="http://www.blogjava.net/sunjavaer/aggbug/8359.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunjavaer/" target="_blank">丑男</a> 2005-07-24 22:10 <a href="http://www.blogjava.net/sunjavaer/archive/2005/07/24/8359.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>