??xml version="1.0" encoding="utf-8" standalone="yes"?>成人在线爆射,国产精品亚发布,97超碰人人在线http://www.aygfsteel.com/tedeyang/category/7601.html路O漫其修远兮,我要吃只没有感冒的鸡zh-cnFri, 02 Mar 2007 07:27:06 GMTFri, 02 Mar 2007 07:27:06 GMT60分别用了两种实现在Java中执行本地程序——ؓ什么不能用Reader呢?http://www.aygfsteel.com/tedeyang/articles/20061.html山颠山颠Wed, 16 Nov 2005 07:03:00 GMThttp://www.aygfsteel.com/tedeyang/articles/20061.htmlhttp://www.aygfsteel.com/tedeyang/comments/20061.htmlhttp://www.aygfsteel.com/tedeyang/articles/20061.html#Feedback0http://www.aygfsteel.com/tedeyang/comments/commentRss/20061.htmlhttp://www.aygfsteel.com/tedeyang/services/trackbacks/20061.html阅读全文

山颠 2005-11-16 15:03 发表评论
]]>
jEdit应用指南【基?/title><link>http://www.aygfsteel.com/tedeyang/articles/18951.html</link><dc:creator>山颠</dc:creator><author>山颠</author><pubDate>Wed, 09 Nov 2005 03:29:00 GMT</pubDate><guid>http://www.aygfsteel.com/tedeyang/articles/18951.html</guid><wfw:comment>http://www.aygfsteel.com/tedeyang/comments/18951.html</wfw:comment><comments>http://www.aygfsteel.com/tedeyang/articles/18951.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tedeyang/comments/commentRss/18951.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tedeyang/services/trackbacks/18951.html</trackback:ping><description><![CDATA[     摘要: jEdit应用指南【基?作?tedeyang 创作旉:2005q??4?   ?      jEdit是一个非常强大和灉|的文本编辑器.在java开发过E中,我一直用eclipse,UltraEdit和jEdit.l常在它们之间来回切?因ؓultraEdit太简?而eclipse又太复杂,所以现在我要介l?..  <a href='http://www.aygfsteel.com/tedeyang/articles/18951.html'>阅读全文</a><img src ="http://www.aygfsteel.com/tedeyang/aggbug/18951.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tedeyang/" target="_blank">山颠</a> 2005-11-09 11:29 <a href="http://www.aygfsteel.com/tedeyang/articles/18951.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DreamWeaver的Velocity插ghttp://www.aygfsteel.com/tedeyang/articles/18941.html山颠山颠Wed, 09 Nov 2005 02:51:00 GMThttp://www.aygfsteel.com/tedeyang/articles/18941.htmlhttp://www.aygfsteel.com/tedeyang/comments/18941.htmlhttp://www.aygfsteel.com/tedeyang/articles/18941.html#Feedback0http://www.aygfsteel.com/tedeyang/comments/commentRss/18941.htmlhttp://www.aygfsteel.com/tedeyang/services/trackbacks/18941.html 

      使用FrontPage可以很方便的预览vm文gQ见梁夏峰的?font color="#ff0000">Velocity之Web实践》一文:http://www.javayou.com/showlog.jspe?log_id=528Q其中这栯道:“

       打开FrontPageQ或其他cM工具Q网늼辑器Q点?quot;工具Q选项Q配|编辑器"Q上面列ZFrontPage能打开的文Ӟ点击dQ填入文件类型:vmQ编辑器名称QFrontPageQ命令:C:\Program Files\Microsoft Office\Office\frontpg.exeQFrontPageq行的完整\径,可从已有的文件类型中Copy出完整\径)Q点L开界面的确定后Q我们从FrontPage的文件菜单中选择打开文gQ选择上面新徏的sample.vmQ怎么P~辑、预览和修改都一目了然吧Q如下图Q,即不清楚VTL的,也可以通过单的手册查询知道Q一般都不会用到吧)Q这样对于网设计师、开发h员和l护人员来说Q都是很Ҏ的事。而如果你使用了一些开发工P如Jbuilder则在toolsQproference的编辑类型里Q在Html档增?vm的支持,则就可以q行~辑和用html预览器预览了Q其他的开发工兯己摸索吧?font color="#000000"> ”

       然而在DreamWeaver中我怎么h配置也不行。于是用google大神上网求助Q终于发Cq个好东西:DreamWeaver的Velocity插gQ?a >http://velocity.gilluminate.com/Q作者比我强多了Q自己动手,丰衣食啊,呵呵。下载后用用DreamWeaver的插件管理器安装Q对Q就是那个VelocitySuite.mxp文g?/font>

       q样一来,DreamWeaver在编辑vm时能提供的功能就大大过其他html~辑器了。爽啊?/p>

       不过作者还说了几个注意点,如果你在使用q程中觉得有问题Q可以去他的主页http://velocity.gilluminate.com/看看。这里就不再多言了?br /> 



山颠 2005-11-09 10:51 发表评论
]]>
log4j/log4e的用(转蝲Q?/title><link>http://www.aygfsteel.com/tedeyang/articles/18936.html</link><dc:creator>山颠</dc:creator><author>山颠</author><pubDate>Wed, 09 Nov 2005 02:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/tedeyang/articles/18936.html</guid><wfw:comment>http://www.aygfsteel.com/tedeyang/comments/18936.html</wfw:comment><comments>http://www.aygfsteel.com/tedeyang/articles/18936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tedeyang/comments/commentRss/18936.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tedeyang/services/trackbacks/18936.html</trackback:ping><description><![CDATA[<h3> </h3> <p> </p> <div>Copy from 一个女生的blog文章Q?a href="/cinderella/archive/2005/06/13/6030.html">log4j/log4e的?/a> </div> <p><font size="2"> 原文作者:天才    Kylin目组</font></p> <font size="2">log4j?br /></font><font size="2">单的说log4j是帮助开发h员进行日志输出管理的APIcd。它最重要的特点就<br /></font><font size="2">可以配置文g灉|的设|日志信息的优先U、日志信息的输出目的C及日志信息的输出格式?br /></font><font size="2"><span>Log4j除了可以记录E序q行日志信息外还有一重要的功能就是用?/span>昄调试信息。程序员l常会遇到脱?span>java ide环境调试E序的情况,q时大多Ch会选择使用System.out.println语句输出某个变量值的Ҏq行调试。这样会带来一个非帔R烦的问题Q一旦哪天程序员军_不要昄q些System.out.println的东西了只能一行行的把q些垃圾语句注释掉。若哪天又需调试变量|则只能再一行行Lq些注释恢复System.out.println语句。用log4j可以很好的处理类似情c?br /></span></font><font size="2">log4j使用Ҏ<br /></font><font size="2">下面介绍的是log4j一些理论方面的知识Q读者觉得枯燥的话可以蟩q本节直接阅ȝ三节实例部分?br /></font><font size="2">  1、定义配|文?br /></font><font size="2">   首先使用配置文g我们的应用程序更加灵z配|log日志输出方式包括输出优先U、输出目的地、输出格式。Log4j支持两种配置文g格式Q一U是XML格式的文Ӟ一U是JavaҎ文件log4j.propertiesQ键=|。下面将介绍使用log4j.properties文g作ؓ配置文g的方法:<br /></font><font size="2">  ①配|根LoggerQ其语法为:0<br /></font><font size="2">  log4j.rootLogger = [ level ] , appenderName, appenderName, … <br /></font><font size="2">  其中Qlevel 是日志记录的优先U,分ؓOFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的别。Log4j只用四个别,优先U从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的U别Q您可以控制到应用程序中相应U别的日志信息的开兟뀂比如在q里定义了INFOU别Q则应用E序中所有DEBUGU别的日志信息将不被打印出来?appenderName是指定日志信息输出到哪个地斏V可同时指定多个输出目的地?<br /></font><font size="2">  ②配|日志信息输出目的地AppenderQ其语法为:<br /></font><font size="2">  </font><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 <br /></font><font size="2">  其中Q?/font><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指定的地方) <br /></font><font size="2">  ③配|日志信息的格式Q布局Q,其语法ؓQ?br /></font><font size="2">  </font><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 <br /></font><font size="2">  其中Q?/font><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、类别等{信息) <br /></font><font size="2">  Log4J采用cMC语言中的printf函数的打印格式格式化日志信息Q打印参数如下: %m 输出代码中指定的消息<br /></font><font size="2">  </font><font size="2">%p 输出优先U,即DEBUGQINFOQWARNQERRORQFATAL <br />  %r 输出自应用启动到输出该log信息耗费的毫U数 <br />  %c 输出所属的cȝQ通常是所在类的全?<br />  %t 输出产生该日志事件的U程?<br />  %n 输出一个回车换行符QWindowsq_?ldquo;\r\n”QUnixq_?ldquo;\n” <br />  %d 输出日志旉点的日期或时_默认格式为ISO8601Q也可以在其后指定格式,比如Q?d{yyy MMM dd HH:mm:ss,SSS}Q输出类|</font><font size="2">2002q?0?8?/font><font size="2"> 22Q?0Q?8Q?21 <br />  %l 输出日志事g的发生位|,包括cȝ名、发生的U程Q以及在代码中的行数。D例:Testlog4.main(TestLog4.java:10) <br /></font><font size="2">  2、在代码中用Log4j <br /></font><font size="2">  ①得到记录器<br /></font><font size="2">  使用Log4jQ第一步就是获取日志记录器Q这个记录器负责控制日志信息。其语法为: <br /></font><font size="2">  public static Logger getLogger( String name) <br /></font><font size="2">  通过指定的名字获得记录器Q如果必要的话,则ؓq个名字创徏一个新的记录器。Name一般取本类的名字,比如Q?<br /></font><font size="2">  static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )<br /></font><font size="2">  ②读取配|文?<br /></font><font size="2">  当获得了日志记录器之后,W二步将配置Log4j环境Q其语法为:<br /></font><font size="2">BasicConfigurator.configure ()Q?自动快速地使用~省Log4j环境?br />  PropertyConfigurator.configure ( String configFilename) Q读取用Java的特性文件编写的配置文g?br /></font><font size="2">例:PropertyConfigurator.configure(".\\src\\log4j.properties")</font><br /><font size="2">  DOMConfigurator.configure ( String filename ) Q读取XML形式的配|文件?br /></font><font size="2">  ③插入记录信息(格式化日志信息)<br /></font><font size="2">  当上两个必要步骤执行完毕Q就可轻村֜使用不同优先U别的日志记录语句插入到您想记录日志的Q何地方,其语法如下:<br /></font><font size="2">  </font><font size="2">Logger.debug ( Object message ) ;<br />  Logger.info ( Object message ) ;<br />  Logger.warn ( Object message ) ;<br />  Logger.error ( Object message ) ;<br /></font><font size="2">log4j范例E序<br /></font><font size="2">下面用一个最单的范例E序来进一步说明log4j的用方法。程序代码如下:<br /></font> <p><font size="2"><font size="2">import org.apache.log4j.*;<br /></font><font size="2"> <br /></font><font size="2">public class LogTest {<br /></font><font size="2"> <br /></font><font size="2"> <br /></font><font size="2">    static Logger logger = Logger.getLogger(LogTest.class.getName());<br /></font><font size="2"> <br /></font><font size="2">    public static void main(String[] args) {<br /></font><font size="2"> <br /></font><font size="2">        PropertyConfigurator.configure ( “.\\src\log4j.properties”)Q?br /></font><font size="2">logger.debug("Debug ...");<br /></font><font size="2"> <br /></font><font size="2">        logger.info("Info ...");<br /></font><font size="2"> <br /></font><font size="2">        logger.warn("Warn ...");<br /></font><font size="2"> <br /></font><font size="2">        logger.error("Error ...");<br /></font><font size="2"> <br /></font><font size="2">    }<br /></font><font size="2">}<br /></font><font size="2">E序说明Q?br /></font><font size="2">?static Logger logger = Logger.getLogger(LogTest.class.getName());是创徏一个属于LogTestcȝLogger对象Q创建时要告知Logger你当前的Class是什么?br /></font>?font size="2"> PropertyConfigurator.configure ( “log4j.properties”)是说用当前工E目录下的src文g夹中的log4j.properties文g作ؓ配置文g。若log4j.properties攑֜工程根目录下也可不写此句Q程序会自动扑ֈ配置文g?br /></font>?logger.debug是输出debug的信息,logger.info是输出提示信息Qlogger.warn是昄警告信息Qlogger.error是昄错误信息?br />下面是配|文件log4j.properties的内容:<br /><font size="2">log4j.rootCategory=DEBUG, stdoutQR<br /></font><font size="2">log4j.appender.stdout=org.apache.log4j.ConsoleAppender<br /></font><font size="2">log4j.appender.stdout.layout=org.apache.log4j.PatternLayout<br /></font><font size="2">log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) - %m%n<br /></font><font size="2">log4j.appender.R=org.apache.log4j.RollingFileAppender<br /></font><font size="2">log4j.appender.R.File=log.txt<br /></font><font size="2">log4j.appender.R.MaxFileSize=100KB<br /></font><font size="2">log4j.appender.R.MaxBackupIndex=1<br /></font><font size="2">log4j.appender.R.layout=org.apache.log4j.PatternLayout<br /></font><font size="2">log4j.appender.R.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n<br /></font><font size="2">E序说明Q?br /></font><font size="2">?log4j.rootCategory=DEBUG, stdoutQR<br /></font>是说我要显C所有优先权{於和高于Debug的信息?br />"stdout"Q?rdquo;R”表示我定义了两个输出?随便什么名字都??br />②下面的三行说stdout输出端其实是标准输出ConsoleQ也是屏幕。输出的格式是Pattern<font size="2">Layout。{换方式是%5p (%F:%L) - %m%nQ即前五格用来显CZ先权Q再昄当前的文件名Q加当前的行数。最后是logger.debug()或logger.info()或logger.warn()或logger.error()里的信息?n表示回RI?br /></font>③再加上下面六行则log信息不光昄在屏q上Q而且被保存在一个叫"log.txt"的文仉Q文件最大ؓ100KB。如果文件大超q?00KBQ文件会被备份成"log.txt.1"Q新?quot;log.txt"l箋记录log信息?br />接下来我们可以改变log4j.propertiesQ而不需重新~译可以控制log信息是否昄、log信息的输出端cd、输出方式、输出格式,{等。D例如下:<br />①在log4j.properties文g里把"log4j.rootCategory=DEBUG,stdout,R"改写?quot;log4j.rootCategory=OFF, stdout,R"Q这h有的log信息都不会显CZQ解决了本文开始提出的问题?br />②在log4j.properties文g里把"log4j.rootCategory=DEBUG,stdout,R"改写?quot;log4j.rootCategory=INFO, stdout,R"Q这样只昄INFO, WARN, ERROR的log信息Q而DEBUG信息不会被显C;<br /> <p><font size="2"><font size="2">在webE序中用log4j注意问题<br /></font><font size="2">1?nbsp;   ׃jsp或servlet在执行状态时没有当前路径概念Q所有用PropertyConfigurator.configureQStringQ语句找log4j.properties文g时要l出相对于当前jsp或servlet的\径{化成Z个绝对的文gpȝ路径。方法是使用servletcontext.getrealpath(string)语句。例Q?br /></font>//得到当前jsp路径<br />String prefix =  getServletContext().getRealPath("/");<br />//dlog4j.properties<br />PropertyConfigurator.configure(prefix+"\\WEB-INF\\log4j.properties");<br />2、相应的log4j.properties讄某个属性时也要在程序中讄l对路径。例Q?br />log4j.appender.R.File属性设|日志文件存放位|。我们可以用d.properties配置文g的方法进行灵z设|?br /><br /><font size="2">log4e使用说明<br /></font><font size="2">在了解了log4j的功能后Q我们肯定会我们的程序中~写一些Log4j日志记录。对于用Eclipse的程序员Log4e是我们最得力的log4j日志~写助手Q现在开始Log4e之旅?br /></font>Log4e是一个免费的Eclipse PluginQ它可帮助你在你的Java工程中快速加入LogQ?我们可以?a >http://log4e.jayefem.de/index.php/Download</a>|站上下载Log4e最新版本。下载后相应文件夹拯到Eclipse的插件目录下Q重新EclipseQ在首选项中会多出一?span>Log4e</span>选项?br />Log4e可以有多个插入LogZ个方法、类Q当然也可以在当前位|插入LogQ同时其也可以把Sysout.out.println()的{换ؓlogQ所有的q一切只需要你点点鼠标或者按一ơ快捷键?font size="2"><br /><br />Log4e的实例参?a >http://log4e.jayefem.de</a></font></font></p> //得到当前jsp路径String prefix =  getServletContext().getRealPath("/");//dlog4j.propertiesPropertyConfigurator.configure(prefix+"\\WEB-INF\\log4j.properties");2、相应的log4j.properties讄某个属性时也要在程序中讄l对路径。例Qlog4j.appender.R.File属性设|日志文件存放位|。我们可以用d.properties配置文g的方法进行灵z设|。Log4e是一个免费的Eclipse PluginQ它可帮助你在你的Java工程中快速加入LogQ?我们可以在网站上下蝲Log4e最新版本。下载后相应文件夹拯到Eclipse的插件目录下Q重新EclipseQ在首选项中会多出一个选项。Log4e可以有多个插入LogZ个方法、类Q当然也可以在当前位|插入LogQ同时其也可以把Sysout.out.println()的{换ؓlogQ所有的q一切只需要你点点鼠标或者按一ơ快捷键?/font></p> ②③ logger.debug是输出debug的信息,logger.info是输出提示信息Qlogger.warn是昄警告信息Qlogger.error是昄错误信息。下面是配置文glog4j.properties的内容:是说我要显C所有优先权{於和高于Debug的信息?quot;stdout"Q?rdquo;R”表示我定义了两个输出?随便什么名字都?。②下面的三行说stdout输出端其实是标准输出ConsoleQ也是屏幕。输出的格式是Pattern③再加上下面六行则log信息不光昄在屏q上Q而且被保存在一个叫"log.txt"的文仉Q文件最大ؓ100KB。如果文件大超q?00KBQ文件会被备份成"log.txt.1"Q新?quot;log.txt"l箋记录log信息。接下来我们可以改变log4j.propertiesQ而不需重新~译可以控制log信息是否昄、log信息的输出端cd、输出方式、输出格式,{等。D例如下:①在log4j.properties文g里把"log4j.rootCategory=DEBUG,stdout,R"改写?quot;log4j.rootCategory=OFF, stdout,R"Q这h有的log信息都不会显CZQ解决了本文开始提出的问题。②在log4j.properties文g里把"log4j.rootCategory=DEBUG,stdout,R"改写?quot;log4j.rootCategory=INFO, stdout,R"Q这样只昄INFO, WARN, ERROR的log信息Q而DEBUG信息不会被显C;//得到当前jsp路径String prefix =  getServletContext().getRealPath("/");//dlog4j.propertiesPropertyConfigurator.configure(prefix+"\\WEB-INF\\log4j.properties");2、相应的log4j.properties讄某个属性时也要在程序中讄l对路径。例Qlog4j.appender.R.File属性设|日志文件存放位|。我们可以用d.properties配置文g的方法进行灵z设|。Log4e是一个免费的Eclipse PluginQ它可帮助你在你的Java工程中快速加入LogQ?我们可以在网站上下蝲Log4e最新版本。下载后相应文件夹拯到Eclipse的插件目录下Q重新EclipseQ在首选项中会多出一个选项。Log4e可以有多个插入LogZ个方法、类Q当然也可以在当前位|插入LogQ同时其也可以把Sysout.out.println()的{换ؓlogQ所有的q一切只需要你点点鼠标或者按一ơ快捷键?img src ="http://www.aygfsteel.com/tedeyang/aggbug/18936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tedeyang/" target="_blank">山颠</a> 2005-11-09 10:41 <a href="http://www.aygfsteel.com/tedeyang/articles/18936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>目前行的日志记录工具配|大全(log4j,Jakarta Commons Logging,jdk1.4 loggingQ?/title><link>http://www.aygfsteel.com/tedeyang/articles/18935.html</link><dc:creator>山颠</dc:creator><author>山颠</author><pubDate>Wed, 09 Nov 2005 02:39:00 GMT</pubDate><guid>http://www.aygfsteel.com/tedeyang/articles/18935.html</guid><wfw:comment>http://www.aygfsteel.com/tedeyang/comments/18935.html</wfw:comment><comments>http://www.aygfsteel.com/tedeyang/articles/18935.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tedeyang/comments/commentRss/18935.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tedeyang/services/trackbacks/18935.html</trackback:ping><description><![CDATA[<h3> </h3> <p> </p> <h2>How to do the initial setup of my logging framework </h2> <h2>如何讄我的日志框架Q?/h2> <p>原文来自?a >http://log4e.jayefem.de/index.php/Log4E:FAQ</a></p> <p>If you are already familiar with your logging framework you might want to skip this section. </p> <p>This chapter gives you a slight idea of how to make the initial setup of your logger. This is NOT supported by Log4E at the moment and was not the intended use at the beginning of this project.<br /></p> <p>Log4E does not ship any logging framework which means that you have to download and install it for yourself! </p> <p>Examples are available for Log4j, Commons Logging, JDK 1.4 Logging (again: you have to do this for yourself). </p> <p> </p> <h4><a name="Log4j">Log4j</a></h4> <ul>1. Download Log4j at <a title="http://logging.apache.org/" target="_blank">http://logging.apache.org/</a> and copy the log4j.jar to your lib directory.<br /><br />2. Create a new file 'log4j.properties' or 'log4j.xml' (case sensitive) and put it in your classpath. To be more concrete: Put in your source directory, the file will be copied by Eclipse automatically to your build directory.<br /><br />For example: <pre> .../MyEclipseProject/ .../MyEclipseProject/src/log4j.properties .../MyEclipseProject/src/com/mycompany/myapp/... </pre> <br />2a. Alternatively, you can use the method org.apache.log4j.PropertyConfigurator.configure("..../log4j.properties");<br /><br /> <p>3. Edit the 'log4j.properties' to declare your own categories, log levels and appenders (which means the output like standard out or a log file). <br /><br />log4j.properties example: </p> <pre> ####################################################################### # Categories and levels ####################################################################### log4j.rootCategory=ERROR, FileApp, ConApp log4j.category.de.jayefem=DEBUG ####################################################################### # Appenders ####################################################################### # ConApp is set to be a ConsoleAppender. log4j.appender.ConApp=org.apache.log4j.ConsoleAppender # ConApp uses PatternLayout. log4j.appender.ConApp.layout=org.apache.log4j.PatternLayout # Define Pattern log4j.appender.ConApp.layout.ConversionPattern=%d [%t] %-5p %c - %m%n # FileApp log4j.appender.FileApp=org.apache.log4j.RollingFileAppender log4j.appender.FileApp.File=D:/proj/Devel/Java/de.jayefem.log4e/log/log4e.log log4j.appender.FileApp.MaxFileSize=500KB # Keep one backup file log4j.appender.FileApp.MaxBackupIndex=1 log4j.appender.FileApp.layout=org.apache.log4j.PatternLayout log4j.appender.FileApp.layout.ConversionPattern=%d [%t] %-5p %c - %m%n </pre> <p>"de.jayefem", "ConApp", "FileApp" and the path to the logfile are selfdefined. All other words are keywords of Log4j.<br /><br />4. That's all. Have fun. <br /></p> <p>Note that there are much more possibilities to configure Log4j. Check <a title="http://logging.apache.org/" target="_blank">http://logging.apache.org/</a> for more. </p> </ul> <p> </p> <p> </p> <p> </p> <h4><a name="Jakarta_Commons_Logging">Jakarta Commons Logging</a></h4> <p> </p> <p> </p> <ul> <p>Jakarta Commons Logging Framework is a wrapper for all common logging frameworks. If you want to use it, you have to install it AND the underlying logging framework. To install the Commons Logging download it from <a title="http://jakarta.apache.org/commons/logging/" target="_blank">http://jakarta.apache.org/commons/logging/</a> and put the commons-logging.jar in your lib directory.<br />The Commons Logging Frameworks uses Log4j by default. When Log4j isn't found in classpath and JDK 1.4 or higher is being used, the JDK 1.4 logger will be used. If none of the above applies, Commons Logging will fall back to the internal SimpleLog. </p> <p>It is also possible to specify the logging framework directly: </p> <p>1. Create a new file 'commons-logging.properties' and put it in your classpath. To be more concrete: Put it in your source directory, the file will be copied by Eclipse automatically to your build directory.<br /><br />For example: </p> <pre> .../MyEclipseProject/ .../MyEclipseProject/src/commons-logging.properties .../MyEclipseProject/src/com/mycompany/myapp/... </pre> 2. Edit the 'commons-logging.properties'. <br /><br />commons-logging.properties example: <pre> # #org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl # SimpleLog #org.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog # JDK 1.4 logger #org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger # Avalon Toolkit #org.apache.commons.logging.Log=org.apache.commons.logging.impl.LogKitLogger # Log4j org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger </pre> <p> </p> <br />As though it is not recommended to use Simplelog because it is not threadsafe, here's an example how to set it up: <p> </p> <p>1. Create a new file 'simplelog.properties' and put it in your classpath. To be more concrete: Put it in your source directory, the file will be copied by Eclipse automatically to your build directory.<br /><br />For example: </p> <pre> .../MyEclipseProject/ .../MyEclipseProject/src/simplelog.properties .../MyEclipseProject/src/com/mycompany/myapp/... </pre> 2. Edit the 'simplelog.properties' to declare your own categories and log levels. <br /><br />simplelog.properties example: <pre> # Default logging detail level for all instances of SimpleLog. Must be one of # ("trace", "debug", "info", "warn", "error", or "fatal"). If not specified, # defaults to "info". org.apache.commons.logging.simplelog.defaultlog=warn # Logging detail level for a SimpleLog instance named "xxxxx". Must be one of # ("trace", "debug", "info", "warn", "error", or "fatal"). If not specified, the # default logging detail level is used. org.apache.commons.logging.simplelog.log.de.jayefem.log4e=debug # Set to true if you want the Log instance name to be included in output # messages. Defaults to false. org.apache.commons.logging.simplelog.showlogname=false # Set to true if you want the last componet of the name to be included in # output messages. Defaults to true. org.apache.commons.logging.simplelog.showShortLogname=true # Set to true if you want the current date and time to be included in output # messages. Default is false. org.apache.commons.logging.simplelog.showdatetime=true </pre> <p> </p> <p>See <a title="http://jakarta.apache.org/commons/logging/" target="_blank">http://jakarta.apache.org/commons/logging/</a> for more. </p> </ul> <p> </p> <p> </p> <p> </p> <h4><a name="JDK_1.4_Logging">JDK 1.4 Logging</a></h4> <p> </p> <p> </p> <ul>1. Use JDK 1.4 or higher :-)<br /><br />2. Create a new file 'logging.properties'.<br /><br />3. Invoke your application with:<br />java -Djava.util.logging.config.file=D:\your\path\to\logging.properties com.mycompany.myproject.MyClass<br /><br /> <p>logging.properties example: </p> <pre> # handlers handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler # general level .level=INFO # file handler java.util.logging.FileHandler.pattern = %h/java%u.log java.util.logging.FileHandler.limit = 50000 java.util.logging.FileHandler.count = 1 java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter # console handler java.util.logging.ConsoleHandler.level = FINEST java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter test.de.jayefem.log4e.logkits.JDK1_4_Logging.level = FINEST </pre> <p>Since I am not an expert of JDK 1.4 logging there might be better ways to configure the logging framework. Suggestions are welcome.<br />See <a title="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/package-summary.html" target="_blank">http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/package-summary.html</a> for more information. </p> <p> </p> </ul> <h3>据说apache Jakarta组曄强烈sun把log4j作ؓjdk1.4的日志工P但这条徏议没有被采纳。于是他们就开发了common logging 来兼容log4j和jdk的loggingQ呵c简单一点,q是使用log4j吧?/h3> <h3>noteQ在eclipse中运行程序时gq不会搜索本机的classpathQ因此即使把log4j.properties文g攑ֈclasspath中也没用?/h3> <p>最q发现Weblogic也是用的log4jQ呵c?/p><img src ="http://www.aygfsteel.com/tedeyang/aggbug/18935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tedeyang/" target="_blank">山颠</a> 2005-11-09 10:39 <a href="http://www.aygfsteel.com/tedeyang/articles/18935.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>