你的两个appender都是指向控制台----->org.apache.log4j.ConsoleAppender。
一般情况下是一个输出到控制台,一个输出到log文件 org.apache.log4j.DailyRollingFileAppender。

解决方案 »

  1.   

    补充一下日志结果:
    2008-01-31 11:08:20.921 [INFO] layer1.say().... org.test.Layer1 org.test.Layer1.say(Layer1.java:9) 
    2008-01-31 11:08:20.921 [INFO] layer1.say().... org.test.Layer1 org.test.Layer1.say(Layer1.java:9) 
      

  2.   

    估计你 没有找对 配置文件位置.... 
    这个配置文件都写的日志等级为FATAL  怎么可能输出INFO 的信息啊 ??????还有就是 你那个:
    log4j.logger.org.test.Layer1   =   DEBUG,   LAYER1 
    log4j.appender.LAYER1=org.apache.log4j.ConsoleAppender 
    log4j.appender.LAYER1.layout=org.apache.log4j.PatternLayout 
    log4j.appender.LAYER1.layout.ConversionPattern=%d{yyyy-MM-dd   HH:mm:ss.SSS}   [%p]   %m   %c   %l   %n 这一段是什么意思啊.. 我硬是没有看懂
      

  3.   

    我在一楼回复过log4j.additivity你去查一下具体的用法吧,就是用这个去掉重复的日志。log4j.category.org.test=INFO,stdout
    log4j.additivity.org.test=false;我给你一个我在用的一个日志配置文件吧。我配置了net.java2000的日志级别,包括了下属目录log4j.rootCategory=ERROR
    log4j.category.net.java2000=INFO,stdout
    log4j.category.com.triuse=INFO,stdout
    log4j.additivity.net.java2000=falselog4j.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,SSSS}><%-5p><%m><%l>%nlog4j.appender.logfile=org.apache.log4j.RollingFileAppender
    log4j.appender.logfile.File=triuse.log
    log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
    log4j.appender.logfile.layout.ConversionPattern=<%-5p> %-4r [%t]%c %x <%m>%nlog4j.appender.dailylogfile=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.dailylogfile.File=triuse.log
    log4j.appender.dailylogfile.DatePattern='.'yyyy-MM-dd
    log4j.appender.dailylogfile.layout=org.apache.log4j.PatternLayout
    log4j.appender.dailylogfile.layout.ConversionPattern=<%-5p> %-4r [%t]%c %x <%m>%n
      

  4.   

    问题已解决,在此对java2000_net 及其它热心同志表示感谢!!解决方式:加入XML代码:
    log4j.additivity.org.test.Layer1=false