??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲日韩欧美一区二区在线,五月综合激情,99热免费精品http://www.aygfsteel.com/keweibo/category/46973.html一? Java 多能 Delphi,Powerbuilder ... zh-cnSun, 29 Apr 2012 03:05:57 GMTSun, 29 Apr 2012 03:05:57 GMT60RCP开?--Log4j配置http://www.aygfsteel.com/keweibo/articles/376986.htmlKeKeSat, 28 Apr 2012 09:56:00 GMThttp://www.aygfsteel.com/keweibo/articles/376986.htmlhttp://www.aygfsteel.com/keweibo/comments/376986.htmlhttp://www.aygfsteel.com/keweibo/articles/376986.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/376986.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/376986.html
q行控制台打?(只在控制CQ不?log文g?
log4j:WARN No appenders could be found for logger (myrcp.OpenViewAction).
log4j:WARN Please initialize the log4j system properly.
q是因ؓ没有dLog4j的配|信息?/div>
在启动RCP的插件中的startҎ里:
    public void start(BundleContext context) throws Exception {
        super.start(context);
        plugin = this;       
        Properties prop = new Properties();
        try {
            prop.load(Activator.class.getResourceAsStream("log4j.properties")); //$NON-NLS-1$
        } catch (IOException e) {
            // e.printStackTrace();
        }
        PropertyConfigurator.configure(prop);
    }
在myrcp.Activator同目录下添加log4j.propertiesQ?nbsp;


Ke 2012-04-28 17:56 发表评论
]]>
log4j/log4e的?/title><link>http://www.aygfsteel.com/keweibo/articles/337687.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Wed, 10 Nov 2010 01:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/keweibo/articles/337687.html</guid><wfw:comment>http://www.aygfsteel.com/keweibo/comments/337687.html</wfw:comment><comments>http://www.aygfsteel.com/keweibo/articles/337687.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/keweibo/comments/commentRss/337687.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/keweibo/services/trackbacks/337687.html</trackback:ping><description><![CDATA[轉自:http://www.aygfsteel.com/cinderella/archive/2005/06/13/6030.aspx<br /> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="2"> 原文作者:天才    Kylin目组</font></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><font size="2">log4j?/font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-family: 宋体;"><font size="2">单的?span lang="EN-US">log4j是帮助开发h员进行日志输出管理的APIcd。它最重要的特点就</span></font></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="2"><span style="font-family: 宋体;">可以</span><span style="font-family: 宋体;">配置文g灉|的设|?/span><span style="font-family: 宋体;">日志信息的优先、日志信息的输出目的C及日志信息的输出格式?/span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"><font size="2"><span style="font-family: 宋体;" lang="EN-US">Log4j除了可以记录E序q行日志信息外还有一重要的功能就是用?/span><span style="font-family: 宋体;">昄调试信息。程序员l常会遇到脱?span lang="EN-US">java ide环境调试E序的情况,q时大多Ch会选择使用System.out.println语句输出某个变量值的Ҏq行调试。这样会带来一个非帔R烦的? 题:一旦哪天程序员军_不要昄q些System.out.println的东西了只能一行行的把q些垃圾语句注释掉。若哪天又需调试变量|则只能再 一行行Lq些注释恢复System.out.println语句。用log4j可以很好的处理类似情c?/span></span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><span style="font-family: 宋体;" lang="EN-US"><font size="2">log4j使用Ҏ</font></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 22.05pt;"><span style="font-family: 宋体;"><font size="2">下面介绍的是<span lang="EN-US">log4j一些理论方面的知识Q读者觉得枯燥的话可以蟩q本节直接阅ȝ三节实例部分?/span></font></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  <span>1、定义配|文?/span></font></span></p> <p><span style="font-size: 10.5pt;"><font size="2"> <span lang="EN-US"><span>  </span>? 先用配|文件将使我们的应用E序更加灉|配置log日志输出方式包括输出优先U、输出目的地、输出格式。Log4j支持两种配置文g格式Q一U是XML 格式的文Ӟ一U是JavaҎ文件log4j.propertiesQ键=|。下面将介绍使用log4j.properties文g作ؓ配置文g的方 法:</span></font></span></p> <p><font size="2"><span style="font-size: 10.5pt;">  </span><span style="font-size: 10.5pt;" lang="EN-US"><span>?/span></span><span style="font-size: 10.5pt;" lang="EN-US">配置根LoggerQ其语法为:0</span></font></p> <p><span style="font-size: 10.5pt;"><font size="2">  <span lang="EN-US">log4j.rootLogger = [ level ] , appenderName, appenderName, … </span></font></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  其中Q?span lang="EN-US">level 是日志记录的优先U,分ؓOFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的别。Log4j只用四个别,? 先从高C分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的U别Q您可以控制到应用程序中相应U别的日志信息的开兟뀂比如在q里? 义了INFOU别Q则应用E序中所有DEBUGU别的日志信息将不被打印出来? appenderName是指定日志信息输出到哪个地斏V可同时指定多个输出目的地?</span></font></span></p> <p><font size="2"><span style="font-size: 10.5pt;">  </span><span style="font-size: 10.5pt;" lang="EN-US"><span>?/span></span><span style="font-size: 10.5pt;" lang="EN-US">配置日志信息输出目的地AppenderQ其语法为:</span></font></p> <p><span style="font-size: 10.5pt;"><font size="2">  </font><span lang="EN-US"><font size="2">log4j.appender.appenderName = fully.qualified.name.of.appender.class <br /> log4j.appender.appenderName.option1 = value1 <br /> … <br /> log4j.appender.appenderName.option = valueN </font></span></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  其中Q?/font><span lang="EN-US"><font size="2">Log4j提供的appender有以下几U: <br /> org.apache.log4j.ConsoleAppenderQ控制台Q, <br /> org.apache.log4j.FileAppenderQ文ӞQ?<br /> org.apache.log4j.DailyRollingFileAppenderQ每天生一个日志文ӞQ?br /> org.apache.log4j.RollingFileAppenderQ文件大到达指定尺寸的时候生一个新的文ӞQ?<br /> org.apache.log4j.WriterAppenderQ将日志信息以流格式发送到L指定的地方) </font></span></span></p> <p><font size="2"><span style="font-size: 10.5pt;">  </span><span style="font-size: 10.5pt;" lang="EN-US"><span>?/span></span><span style="font-size: 10.5pt;" lang="EN-US">配置日志信息的格式(布局Q,其语法ؓQ?/span></font></p> <p><span style="font-size: 10.5pt;"><font size="2">  </font><span lang="EN-US"><font size="2">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 </font></span></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  其中Q?/font><span lang="EN-US"><font size="2">Log4j提供的layout有以下几U: <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、类别等{信息) </font></span></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  <span lang="EN-US">Log4J采用cMC语言中的printf函数的打印格式格式化日志信息Q打印参数如下: %m 输出代码中指定的消息</span></font></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  </font><span lang="EN-US"><font size="2">%p 输出优先U,即DEBUGQINFOQWARNQERRORQFATAL <br /> %r 输出自应用启动到输出该log信息耗费的毫U数 <br /> %c 输出所属的cȝQ通常是所在类的全?<br /> %t 输出产生该日志事件的U程?<br /> %n 输出一个回车换行符QWindowsq_?#8220;\r\n”QUnixq_?#8220;\n” <br /> %d 输出日志旉点的日期或时_默认格式为ISO8601Q也可以在其后指定格式,比如Q?d{yyy MMM dd HH:mm:ss,SSS}Q输出类|</font></span></span><span style="font-size: 10.5pt;" lang="EN-US"><font size="2">2002q?0?8?/font></span><span style="font-size: 10.5pt;" lang="EN-US"><font size="2"> 22Q?0Q?8Q?21 <br /> %l 输出日志事g的发生位|,包括cȝ名、发生的U程Q以及在代码中的行数。D例:Testlog4.main(TestLog4.java:10) </font></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  <span>2、在代码中用Log4j </span></font></span></p> <p><font size="2"><span style="font-size: 10.5pt;">  </span><span style="font-size: 10.5pt;" lang="EN-US"><span>?/span></span><span style="font-size: 10.5pt;" lang="EN-US">得到记录?/span></font></p> <p><span style="font-size: 10.5pt;"><font size="2">  使用<span lang="EN-US">Log4jQ第一步就是获取日志记录器Q这个记录器负责控制日志信息。其语法为: </span></font></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  <span lang="EN-US">public static Logger getLogger( String name) </span></font></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  通过指定的名字获得记录器Q如果必要的话,则ؓq个名字创徏一个新的记录器?span lang="EN-US">Name一般取本类的名字,比如Q?</span></font></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  <span lang="EN-US">static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )</span></font></span></p> <p><font size="2"><span style="font-size: 10.5pt;">  </span><span style="font-size: 10.5pt;" lang="EN-US"><span>?/span></span><span style="font-size: 10.5pt;" lang="EN-US">d配置文g </span></font></p> <p><span style="font-size: 10.5pt;"><font size="2">  当获得了日志记录器之后,W二步将配置<span lang="EN-US">Log4j环境Q其语法为:</span></font></span></p> <p style="text-indent: 21pt;"><span style="font-size: 10.5pt;" lang="EN-US"><font size="2">BasicConfigurator.configure ()Q?自动快速地使用~省Log4j环境?br /> PropertyConfigurator.configure ( String configFilename) Q读取用Java的特性文件编写的配置文g?/font></span></p> <p style="text-indent: 21pt;"><font size="2"><span style="font-size: 10.5pt;">例:<span lang="EN-US">PropertyConfigurator.configure</span></span><span style="font-size: 10.5pt;" lang="EN-US">(".\\src\\log4j.properties")</span></font><span style="font-size: 10.5pt;" lang="EN-US"><br /> <font size="2">  DOMConfigurator.configure ( String filename ) Q读取XML形式的配|文件?/font></span></p> <p><font size="2"><span style="font-size: 10.5pt;">  </span><span style="font-size: 10.5pt;" lang="EN-US"><span>?/span></span><span style="font-size: 10.5pt;" lang="EN-US">插入记录信息Q格式化日志信息Q?/span></font></p> <p><span style="font-size: 10.5pt;"><font size="2">  当上两个必要步骤执行完毕Q就可轻村֜使用不同优先U别的日志记录语句插入到您想记录日志的Q何地方,其语法如下:</font></span></p> <p><span style="font-size: 10.5pt;"><font size="2">  </font><span lang="EN-US"><font size="2">Logger.debug ( Object message ) ;<br /> Logger.info ( Object message ) ;<br /> Logger.warn ( Object message ) ;<br /> Logger.error ( Object message ) ;</font></span></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><span style="font-family: 宋体;" lang="EN-US"><font size="2">log4j范例E序</font></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;"><font size="2">下面用一个最单的范例E序来进一步说?span lang="EN-US">log4j的用方法。程序代码如下:</span></font></span></p> <p style="line-height: 6pt;"><span style="color: navy;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 8pt;"><span><font size="2">import org.apache.log4j.*;</font></span></p> <p style="line-height: 8pt;"><span style="color: black;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 8pt;"><font size="2"><span>public class</span><span style="color: black;" lang="EN-US"> LogTest </span><span style="color: navy;" lang="EN-US">{</span></font></p> <p style="line-height: 8pt;"><span style="color: black;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 8pt;"><span style="color: black;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 8pt;"><font size="2"><span><span>    </span>static</span><span style="color: black;" lang="EN-US"> Logger logger = Logger.getLogger(LogTest.class.getName());</span></font></p> <p style="line-height: 8pt;"><span style="color: black;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 8pt;"><font size="2"><span><span>    </span>public</span><span> static</span><span> void</span><span style="color: black;" lang="EN-US"> main(String[] args) </span><span style="color: navy;" lang="EN-US">{</span></font></p> <p style="line-height: 8pt;"><span style="color: black;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 8pt;"><font size="2"><span style="color: black;" lang="EN-US"><span>        </span></span><span style="font-size: 10.5pt;" lang="EN-US">PropertyConfigurator.configure ( “.\\src\</span><span style="color: black; font-family: Arial;" lang="EN-US">log4j.properties</span><span style="font-size: 10.5pt;" lang="EN-US">”)</span><span style="font-size: 10.5pt; font-family: 宋体;">Q?/span></font></p> <p style="text-indent: 40pt; line-height: 8pt;"><font size="2"><span style="color: black;" lang="EN-US">logger.debug(</span><span style="color: red;" lang="EN-US">"Debug ..."</span><span style="color: black;" lang="EN-US">);</span></font></p> <p style="line-height: 8pt;"><span style="color: black;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 8pt;"><font size="2"><span style="color: black;" lang="EN-US"><span>        </span>logger.info(</span><span style="color: red;" lang="EN-US">"Info ..."</span><span style="color: black;" lang="EN-US">);</span></font></p> <p style="line-height: 8pt;"><span style="color: black;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 8pt;"><font size="2"><span style="color: black;" lang="EN-US"><span>        </span>logger.warn(</span><span style="color: red;" lang="EN-US">"Warn ..."</span><span style="color: black;" lang="EN-US">);</span></font></p> <p style="line-height: 8pt;"><span style="color: black;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 8pt;"><font size="2"><span style="color: black;" lang="EN-US"><span>        </span>logger.error(</span><span style="color: red;" lang="EN-US">"Error ..."</span><span style="color: black;" lang="EN-US">);</span></font></p> <p style="line-height: 8pt;"><span style="color: black;" lang="EN-US"><font size="2"> </font></span></p> <p style="line-height: 6pt;"><font size="2"><span style="color: black;" lang="EN-US"><span>    </span></span><span style="color: navy;" lang="EN-US">}</span></font></p> <p style="line-height: 6pt;"><font size="2"><span style="color: navy;" lang="EN-US">}</span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;"><font size="2">E序说明Q?/font></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 10.5pt;"><font size="2"><span style="font-family: 宋体;" lang="EN-US"><span>?/span></span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US"> static Logger logger = Logger.getLogger(LogTest.class.getName());</span><span style="font-size: 10pt; color: black; font-family: 宋体;">是创徏一个属?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">LogTest</span><span style="font-size: 10pt; color: black; font-family: 宋体;">cȝ</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Logger</span><span style="font-size: 10pt; color: black; font-family: 宋体;">对象Q创建时要告?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Logger</span><span style="font-size: 10pt; color: black; font-family: 宋体;">你当前的</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Class</span><span style="font-size: 10pt; color: black; font-family: 宋体;">是什么?/span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 10pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><font size="2"><span lang="EN-US"> PropertyConfigurator.configure ( “</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log4j.properties</span><span lang="EN-US">”)</span><span style="font-family: 宋体;">是说用当前工E目录下?/span><span lang="EN-US">src</span><span style="font-family: 宋体;">文g夹中?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log4j.properties</span><span style="font-size: 10pt; color: black; font-family: 宋体;">文g作ؓ配置文g。若?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log4j.properties</span><span style="font-size: 10pt; color: black; font-family: 宋体;">攑֜工程根目录下也可不写此句Q程序会自动扑ֈ配置文g?/span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 10pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US"> logger.debug</span><span style="font-size: 10pt; color: black; font-family: 宋体;">是输出</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">debug</span><span style="font-size: 10pt; color: black; font-family: 宋体;">的信息,</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">logger.info</span><span style="font-size: 10pt; color: black; font-family: 宋体;">是输出提示信息Q?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">logger.warn</span><span style="font-size: 10pt; color: black; font-family: 宋体;">是昄警告信息Q?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">logger.error</span><span style="font-size: 10pt; color: black; font-family: 宋体;">是昄错误信息?/span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US"> </span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;">下面是配|文?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log4j.properties</span><span style="font-size: 10pt; color: black; font-family: 宋体;">的内容:</span></p> <p><font size="2"><span style="color: black;" lang="EN-US">log4j.rootCategory=DEBUG, stdout</span><span style="color: black; font-family: 宋体;">Q?/span><span style="color: black;" lang="EN-US">R</span></font></p> <p><span style="color: black;" lang="EN-US"><font size="2">log4j.appender.stdout=org.apache.log4j.ConsoleAppender</font></span></p> <p><span style="color: black;" lang="EN-US"><font size="2">log4j.appender.stdout.layout=org.apache.log4j.PatternLayout</font></span></p> <p><span style="color: black;" lang="EN-US"><font size="2">log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) - %m%n</font></span></p> <p><span style="color: black;" lang="EN-US"><font size="2">log4j.appender.R=org.apache.log4j.RollingFileAppender</font></span></p> <p><span style="color: black;" lang="EN-US"><font size="2">log4j.appender.R.File=log.txt</font></span></p> <p><span style="color: black;" lang="EN-US"><font size="2">log4j.appender.R.MaxFileSize=100KB</font></span></p> <p><span style="color: black;" lang="EN-US"><font size="2">log4j.appender.R.MaxBackupIndex=1</font></span></p> <p><span style="color: black;" lang="EN-US"><font size="2">log4j.appender.R.layout=org.apache.log4j.PatternLayout</font></span></p> <p><font size="2"><span style="color: black;" lang="EN-US">log4j.appender.R.layout.ConversionPattern=%d</span><span style="color: navy;" lang="EN-US">{</span><span style="color: black;" lang="EN-US">yyyy MMM dd HH:mm:ss</span><span style="color: navy;" lang="EN-US">}</span><span style="color: black;" lang="EN-US"> %-5p %c - %m%n</span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;"><font size="2">E序说明Q?/font></span></p> <p><font size="2"><span style="font-family: 宋体;" lang="EN-US"><span>?/span></span><span style="color: black;" lang="EN-US"> log4j.rootCategory=DEBUG, stdout</span><span style="color: black; font-family: 宋体;">Q?/span><span style="color: black;" lang="EN-US">R</span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;">是说我要显C所有优先权{於和高?/span><span>Debug的信息?br /> "stdout"Q?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">”R”</span><span style="font-size: 10pt; color: black; font-family: 宋体;">表示我定义了两个输出?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">(</span><span style="font-size: 10pt; color: black; font-family: 宋体;">随便什么名字都?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">)</span><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: 宋体;">下面的三行说</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">stdout</span><span style="font-size: 10pt; color: black; font-family: 宋体;">输出端其实是标准输出</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Console</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q也是屏幕。输出的格式?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Pattern</span><font size="2"><span style="color: black;" lang="EN-US">Layout</span><span style="font-size: 10pt; color: black; font-family: 宋体;">。{换方式是</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">%5p (%F:%L) - %m%n</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q即前五格用来显CZ先权Q再昄当前的文件名Q加当前的行数。最后是</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">logger.debug()</span><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">logger.info()</span><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">logger.warn()</span><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">logger.error()</span><span style="font-size: 10pt; color: black; font-family: 宋体;">里的信息?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">%n</span><span style="font-size: 10pt; color: black; font-family: 宋体;">表示回RI?/span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: 宋体;">再加上下面六行则</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">信息不光昄在屏q上Q而且被保存在一个叫</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">"log.txt"</span><span style="font-size: 10pt; color: black; font-family: 宋体;">的文仉Q文件最大ؓ</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">100KB</span><span style="font-size: 10pt; color: black; font-family: 宋体;">。如果文件大超q?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">100KB</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q文件会被备份成</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">"log.txt.1"</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q新?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">"log.txt"</span><span style="font-size: 10pt; color: black; font-family: 宋体;">l箋记录</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">信息?/span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;">接下来我们可以改?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log4j.properties</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q而不需重新~译可以控?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">信息是否昄?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">信息的输出端cd、输出方式、输出格式,{等。D例如下:</span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log4j.properties</span><span style="font-size: 10pt; color: black; font-family: 宋体;">文g里把</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">"log4j.rootCategory=DEBUG,stdout,R"</span><span style="font-size: 10pt; color: black; font-family: 宋体;">改写?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">"log4j.rootCategory=OFF, stdout,R"</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q这h有的</span><span>log信息都不会显CZQ解决了本文开始提出的问题?br /> ?/span><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log4j.properties</span><span style="font-size: 10pt; color: black; font-family: 宋体;">文g里把</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">"log4j.rootCategory=DEBUG,stdout,R"</span><span style="font-size: 10pt; color: black; font-family: 宋体;">改写?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">"log4j.rootCategory=INFO, stdout,R"</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q这样只昄</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">INFO, WARN, ERROR</span><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">信息Q?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">DEBUG</span><span style="font-size: 10pt; color: black; font-family: 宋体;">信息不会被显C;</span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" lang="EN-US"><font size="2"> </font></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt;"><span style="font-family: 宋体;"><font size="2">?span lang="EN-US">webE序中用log4j注意问题</span></font></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 0cm;"><font size="2"><span style="font-family: 宋体;" lang="EN-US"><span>1?span style="font: 7pt 'Times New Roman';">    </span></span></span><span style="font-family: 宋体;">׃<span lang="EN-US">jsp或servlet在执行状态时没有当前路径概念Q所有?/span></span><span lang="EN-US">PropertyConfigurator.configure</span><span style="font-family: 宋体;">Q?/span><span lang="EN-US">String</span><span style="font-family: 宋体;">Q语句找</span><span lang="EN-US">log4j.properties</span><span style="font-family: 宋体;">文g时要l出相对于当?/span><span lang="EN-US">jsp</span><span style="font-family: 宋体;">?/span><span lang="EN-US">servlet</span><span style="font-family: 宋体;">的\径{化成Z个绝对的文gpȝ路径。方法是使用</span><span lang="EN-US">servletcontext.getrealpath(string)</span><span style="font-family: 宋体;">语句。例Q?/span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;" lang="EN-US">//得到当前jsp路径</span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;" lang="EN-US">String prefix =<span>  </span>getServletContext().getRealPath(</span><span style="font-size: 10pt; font-family: 宋体;" lang="EN-US">"/"<span style="color: black;">);</span></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;" lang="EN-US">//d</span><span style="font-size: 10pt; font-family: 宋体;" lang="EN-US">log4j.properties</span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;" lang="EN-US">PropertyConfigurator.configure(prefix+</span><span style="font-size: 10pt; font-family: 宋体;" lang="EN-US">"\\WEB-INF\\log4j.properties"<span style="color: black;">);</span></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;" lang="EN-US">2、相应的log4j.properties讄某个属性时也要在程序中讄l对路径。例Q?/span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; font-family: 宋体;" lang="EN-US">log4j.appender.R.File属性设|日志文件存放位|。我们可以用d.properties配置文g的方法进行灵z设|?/span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;"><span lang="EN-US"><br /> <font size="2">log4e使用说明</font></span></span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"><font size="2"><span style="font-family: 宋体;">在了解了<span lang="EN-US">log4j的功能后Q我们肯定会我们的程序中</span></span><span style="font-size: 10pt; color: black; font-family: 宋体;">~写一?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log4j</span><span style="font-size: 10pt; color: black; font-family: 宋体;">日志记录。对于?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Eclipse</span><span style="font-size: 10pt; color: black; font-family: 宋体;">的程序员</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log4e</span><span style="font-size: 10pt; color: black; font-family: 宋体;">是我们最得力?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log4j</span><span style="font-size: 10pt; color: black; font-family: 宋体;">日志~写助手Q现在开?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log4e</span><span style="font-size: 10pt; color: black; font-family: 宋体;">之旅?/span></font></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 20pt;"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log4e</span><span style="font-size: 10pt; color: black; font-family: 宋体;">是一个免费的</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Eclipse Plugin</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q它可帮助你在你?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Java</span><span style="font-size: 10pt; color: black; font-family: 宋体;">工程中快速加?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q?/span><span style="font-size: 10pt; color: black; font-family: Arial;"> </span><span style="font-size: 10pt; color: black; font-family: 宋体;">我们可以?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US"><a >http://log4e.jayefem.de/index.php/Download</a></span><span style="font-size: 10pt; color: black; font-family: 宋体;">|站上下?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log4e</span><span style="font-size: 10pt; color: black; font-family: 宋体;">最新版本。下载后相应文件夹拯?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Eclipse</span><span style="font-size: 10pt; color: black; font-family: 宋体;">的插件目录下Q重?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Eclipse</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q在首选项中会多出一?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log4e</span><span style="font-size: 10pt; color: black; font-family: 宋体;">选项?/span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 20pt;"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log4e</span><span style="font-size: 10pt; color: black; font-family: 宋体;">可以有多个插?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Z个方法、类Q当然也可以在当前位|插?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q同时其也可以把</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Sysout.out.println()</span><span style="font-size: 10pt; color: black; font-family: 宋体;">的{换ؓ</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q所有的q一切只需要你点点鼠标或者按一ơ快捷键Q下面我们只以ؓ一个方法插?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Z来讲?/span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 20pt;"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US"><img alt="1.JPG" src="../../images/blogjava_net/cinderella/log4j/1.JPG" border="0" height="427" width="558" /><br /> </span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;">?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Java</span><span style="font-size: 10pt; color: black; font-family: 宋体;">~辑上下文中点击右键Q选择</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Log4E</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q你看到如下界面:</span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: 宋体;"><img alt="2.JPG" src="../../images/blogjava_net/cinderella/log4j/2.JPG" border="0" height="440" width="690" />点击</span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">Insert Log Statement For This Method</span><span style="font-size: 10pt; color: black; font-family: 宋体;">Q你看到验证页面:</span></p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US"><img alt="3.JPG" src="../../images/blogjava_net/cinderella/log4j/3.JPG" border="0" height="420" width="658" /><br /> Finish</span><span style="font-size: 10pt; color: black; font-family: 宋体;">后这时你看到插?/span><span>Log后的函数如下Q?br /> <img alt="4.JPG" src="../../images/blogjava_net/cinderella/log4j/4.JPG" border="0" height="534" width="690" /><br /> Log4e</span><span style="font-size: 10pt; color: black; font-family: 宋体;">更多的实例参?/span><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US"><a >http://log4e.jayefem.de</a></span></p> <br /> <br /> <img src ="http://www.aygfsteel.com/keweibo/aggbug/337687.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/keweibo/" target="_blank">Ke</a> 2010-11-10 09:18 <a href="http://www.aygfsteel.com/keweibo/articles/337687.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">żҿ</a>| <a href="http://" target="_blank">Ҧ</a>| <a href="http://" target="_blank">⴨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ů</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͤ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̶</a>| <a href="http://" target="_blank">¬</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">Ƶ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˼é</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>