CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

log4j 没有按照设置configuration来记录日志信息 郁闷! 谁来解决。。。。

楼主xuyubo(xx)2005-08-02 17:38:31 在 Java / 框架、开源 提问

为何这个程序没有按照("%-d{MM-dd   HH:mm:ss}   [%c]-[%p]   %m%n")格式来输出日志信息呢?  
  另外,网上找了半天,还是不知道如何配日志配置文件,比如root   R代表啥咚咚,在帮助文档也没说吧,请高手指教  
  程序是这样的:  
  import   org.apache.log4j.Level;  
  import   org.apache.log4j.Logger;  
  import   org.apache.log4j.FileAppender;  
  import   org.apache.log4j.Category;  
  import   org.apache.log4j.PatternLayout;  
  import   org.apache.log4j.PropertyConfigurator;  
   
  public   class   logTest   {  
      static   Logger   logger   =   Logger.getLogger(logTest.class.getName());  
      public   static   void   main(String   args[])   {  
          PatternLayout   layout   =   new   PatternLayout();  
          layout.setConversionPattern("%-d{MM-dd   HH:mm:ss}   [%c]-[%p]   %m%n");  
           
          FileAppender   appender   =   null;  
          try   {  
              appender   =   new   FileAppender(layout,   "output1.log",   true);  
              //PropertyConfigurator.configure("log4j.properties");  
               
          }  
          catch   (Exception   e)   {}  
          logger.addAppender(appender);  
          logger.setLevel(   (Level)   Level.INFO);  
          logger.debug("Here   is   some   11DEBUG");  
          logger.info("Here   is   some     711   INFO");  
          logger.warn("Here   is   some   15451WARN");  
          logger.error("Here   is   some   44511ERROR");  
          logger.fatal("Here   is   some   1451FATAL");  
      }  
  }  
   
  若是用配置文件(程序中注释了)是这样的:    
  #   Set   root   logger   level   to   ERROR   and   its   only   appender   to   A1.  
  log4j.rootLogger=INFO,R  
   
  #   R   is   set   to   be   a   DailyRollingFileAppender.  
  log4j.appender.R=org.apache.log4j.DailyRollingFileAppender  
   
  log4j.appender.R.File=backup.log  
  log4j.appender.R.DatePattern   =   '.'yyyy-MM-dd  
  log4j.appender.R.layout=org.apache.log4j.PatternLayout  
  log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd   HH:mm:ss}   [%c]-[%p]   %m%n  
   
  可是输出日志是这样的:  
  Here   is   some     711   INFO  
  Here   is   some   15451WARN  
  Here   is   some   44511ERROR  
  Here   is   some   1451FATAL  
  没有时间等信息的显示,为何?  
   
  问题点数:100、回复次数:5Top

1 楼smilefox(笑面狐)回复于 2005-08-03 11:18:47 得分 0

配置文件只有根记录器,少了你自己的logTest记录器啊。缺省就用根的rootLogger  
   
   
  加一个记录器,如与rootLogger同样的设置,则覆盖  
  log4j.logger.logTest=   INFO,   RTop

2 楼laughsmile(海边的星空)回复于 2005-08-03 16:48:21 得分 0

我的log4j.xml配置,可以记录时间:  
  <?xml   version="1.0"   encoding="UTF-8"   ?>  
  <!DOCTYPE   log4j:configuration   SYSTEM   "log4j.dtd">  
  <log4j:configuration   xmlns:log4j="http://jakarta.apache.org/log4j/">  
  <appender   name="stdout"   class="org.apache.log4j.ConsoleAppender">  
  <layout   class="org.apache.log4j.PatternLayout">  
  <param   name="ConversionPattern"   value="%d   %-5p   %c[%M]   -   %m   (%F:%L)%n"/>  
  </layout>  
  </appender>  
          <appender   name="log"   class="org.apache.log4j.RollingFileAppender">  
              <param   name="File"   value="/Tokubai.log"   />  
              <param   name="Append"   value="true"   />  
              <layout   class="org.apache.log4j.PatternLayout">  
                  <param   name="ConversionPattern"   value="%d   %-5p   %c[%M]   -   %m   (%F:%L)%n"/>  
              </layout>  
          </appender>  
  <logger   name="cn">  
  <level   value="error"   />  
  <appender-ref   ref="log"   />  
  </logger>  
  </log4j:configuration> Top

3 楼mxlmwl(飞星)回复于 2005-08-04 12:03:26 得分 0

log4j.rootLogger=DEBUG,A1,R1  
   
  log4j.appender.A1=org.apache.log4j.ConsoleAppender  
  log4j.appender.A1.layout=org.apache.log4j.PatternLayout  
  log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd   HH:mm:ss}   [%c]-[%p]   %m%n    
   
  log4j.appender.R1=org.apache.log4j.RollingFileAppender  
  log4j.appender.R1.File=${runpath}/logs/convert.log  
  log4j.appender.R1.layout=org.apache.log4j.PatternLayout  
  log4j.appender.R1.layout.ConversionPattern=%-d{yyyy-MM-dd   HH:mm:ss}   [%c]-[%p]   %m%n    
  log4j.appender.R1.MaxFileSize=5MB  
  log4j.appender.R1.MaxBackupIndex=50  
   
  这个是我的一个配置文件,比较简单,你要的实际上就是  
  log4j.appender.R1.layout.ConversionPattern=%-d{yyyy-MM-dd   HH:mm:ss}   [%c]-[%p]   %m%n    
  你可以到竹笋炒肉上去找找,有个介绍log4j的文章不错。或者用google搜搜,都这么经典的东东了,能搜出一大堆来。Top

4 楼EANFS(我的爱是折下自己的翅膀 送给你飞翔)回复于 2005-08-05 11:19:30 得分 0

R   是   appender   的名称,可以自己取的Top

5 楼EANFS(我的爱是折下自己的翅膀 送给你飞翔)回复于 2005-08-05 11:20:07 得分 0

我的代码  
   
  PatternLayout   layout   =   new   PatternLayout();  
  FileAppender   appender   =   null;  
   
  try   {  
  fileName   =   fileName   +   "_"+   DateUtil.getNowTimeString()+".log";  
  layout.setConversionPattern("%d{yyyy/MM/dd   HH:mm:ss}   -   %m%n");  
  appender   =   new   FileAppender(layout,fileName,false);  
   
  }   catch   (Exception   e)   {  
  System.out.println(e.getMessage());  
  }  
   
  log.addAppender(appender);  
  log.setLevel((Level)   Level.INFO);Top

相关问题

  • 如何清除LOG日志!!100分
  • sql2000的日志文件满了(log),如何清空??
  • 我的日志怎么在LOG EXPLORER里没有啊
  • 还原的数据库,如何用Log Explorer 查看日志!
  • Log Explorer查不到删除记录的日志
  • sql日志怎么查看,SQL Server Log explorer 怎么用
  • 日志问题
  • 事务日志
  • 关于日志!
  • DNS日志

关键词

  • log4j
  • apache
  • debug
  • m%n
  • 日志
  • layout
  • appender
  • logtest
  • 配置文件
  • 记录器

得分解答快速导航

  • 帖主:xuyubo

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo