log.error(Object message, Throwable t);
我想让Throwable输出的stackTrace里每行都带有level className,日期等格式,
应当如何配置log4j!
help me !!!!!!!!!!!!

解决方案 »

  1.   

    这个需要配置ConversionPattern,就是输出格式
    log4j.appender.A1.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %l: %m%n
    具体的查看相关文档
      

  2.   

    下面这个是我们的一个应用的 log4j 的配置,很简单吧,呵呵。<?xml version="1.0" encoding="GBK" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" threshold="debug">  <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="/home/testuser/test/logs/test-app.log" />
        <param name="Append" value="true" />
        <param name="DatePattern" value="'.'yyyy-MM-dd" />
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t] [%c{1}] %m%n" />
        </layout>
      </appender>  <logger name="com.test">
        <level value="DEBUG" />
      </logger>  <root>
        <level value="INFO" />
        <appender-ref ref="FILE" />
      </root></log4j:configuration>
      

  3.   

    推一下我的log4j.properties
    #Write Log Msg to Console
    log4j.rootLogger=info,appender1,appender2log4j.appender.appender1=org.apache.log4j.ConsoleAppender
    log4j.appender.appender1.layout=org.apache.log4j.TTCCLayoutlog4j.appender.appender2=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.appender2.File=${app_home}/logs/server.log
    log4j.appender.appender2.Append=true
    log4j.appender.appender2.DatePattern='.'yyyy-MM-dd
    log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout
      

  4.   

    我也贴个。log4j.rootCategory=warn,stdout,filelog4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%t] %C.%M(%L) %m%nlog4j.appender.file=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.file.DatePattern='.'yyyy-ww
    log4j.appender.file.File=GameManager.log
    log4j.appender.file.layout=org.apache.log4j.PatternLayout 
    log4j.appender.file.layout.ConversionPattern=%d  %p [%t] %C %M(%L) - %m%n
      

  5.   

    借花献佛,我想问下,为什么我的log文件不会自动到一定大小更新呢?配置上没感觉有什么问题
      

  6.   

    to:楼上诸位
      感谢大家的回复!我的配置与大伙类似,结果是log中execption的内容只有第一条有格式,其他的内容
    和在控制台看到的一样不是每行都有(level className,日期)等等信息!
      

  7.   

    log4j的配置,使用这种属性文件的配置,比XML的方式好多了,,不是什么东西都要用XML的
      

  8.   

    哎  懒得找了
    重写了log.error(Object message, Throwable t)方法
    循环调用log.error(Object message)方法,问题解决
      

  9.   


    XML 方式方便 log4j 优先加载 log4j.xml 的,如果跟 log4j.dtd 放在一起的话,在 eclipse 还能使用自动完成功能,呵呵。
      

  10.   

    [code=Jav]
    #log4j.rootLogger=DEBUG,A1,R
    log4j.rootLogger=INFO,A1,R
    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,SSS} [%c]-[%p] %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=E:\yxErorr.log
    log4j.appender.R.MaxFileSize=500KB
    log4j.appender.R.MaxBackupIndex=10
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n#log4j.logger.org.springframework.transaction.interceptor=DEBUG[/code]