我在tomcat下和websphere上都存在上面的问题,这是log4j.properties的内容:log4j.rootLogger=info,CONSOLE,FILE
log4j.addivity.org.apache=false# 应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Append=true
log4j.appender.CONSOLE.DatePattern='.'yyyy-MM-dd
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} at [%l] - %m%n
#log4j.appender.Threshold=DEBUG
#log4j.appender.CONSOLE.Target=System.out
#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#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
#log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %p at [%l] %c - %m%n
#应用于文件
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.FILE.File=/opt/WebSphere/AppServer/installedApps/test/inspect_war.ear/inspect.war/WEB-INF/logs/inspect.log
log4j.appender.FILE.File=logs/inspect.log
log4j.appender.FILE.Append=true
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.FILE.layout.ConversionPattern=[inspect] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.FILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} at [%l] - %m%n

解决方案 »

  1.   

    设置调试级别,log4j.rootLogger=error
      

  2.   

    我是想即使设置成debug级别,也不显示struts的信息
      

  3.   

    那怎么可能呢,struts的信息也是debug信息啊
    将日志级别提高吧,就不会输入调试信息了#错误级别
    log4j.rootLogger=error,CONSOLE,FILE
    #提示信息级别
    log4j.rootLogger=info,CONSOLE,FILE
      

  4.   

    log4j.logger.org.apache.struts.util=WARN
      

  5.   

    你可以把struts的logger设置为ERR级别
    然后把你自己的logger设置为Debug级别
    log4j的logger是分层次的
      

  6.   

    还有中方法 就是把log4j.rootLogger 设置成off 自己定义个logger就可以了
      

  7.   

    fisherzhao(◆去留无意◆)  方法正确Suppose we are no longer interested in seeing the output of any component belonging to the com.foo package. The following configuration file shows one possible way of achieving this. log4j.rootLogger=DEBUG, A1
    log4j.appender.A1=org.apache.log4j.ConsoleAppender
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout# Print the date in ISO 8601 format
    log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n# Print only messages of level WARN or above in the package com.foo.
    log4j.logger.com.foo=WARN 
      

  8.   

    自己把改struts的源码,就是源码中的getLogger的方法,就是不要从Root那里getLogger,
    代码修改量不大...
    然后自己编译..