同样是输出debug的log,我能不能定义两个不同的log4j.xml文件,或者在一个xml文件中定义不同的格式来输出不同形式的log?

解决方案 »

  1.   


    配置日志信息输出目的地
    log4j.appender.appenderName = fully.qualified.name.of.appender.class
    1.org.apache.log4j.ConsoleAppender(控制台)
    2.org.apache.log4j.FileAppender(文件)
    3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
    4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
    5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
    这些可以同时设置2种以上
      

  2.   

    可以根据不同的包,或者不同的输出级别来确定输出文件
    具体的网上找手册查呗
    给一个我平时用的配置文件log4j.category.com.sol=info,stdout
    log4j.category.org.springframework=debug,FrameWorkSpring
    log4j.category.org.hibernate=debug,FrameWorkHibernate
    log4j.category.net.sf.ehcache=debug,FrameWorkEhCachelog4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%nlog4j.appender.FrameWorkSpring=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.FrameWorkSpring.File=log/FrameWorkSpring.log
    log4j.appender.FrameWorkSpring.DatePattern=yyyy-MM-dd'.log'  
    log4j.appender.FrameWorkSpring.layout=org.apache.log4j.PatternLayout
    log4j.appender.FrameWorkSpring.layout.ConversionPattern=[%c]-[%p] %m%n
    log4j.appender.FrameWorkSpring.append=false  
      
    log4j.appender.FrameWorkHibernate=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.FrameWorkHibernate.File=log/FrameWorkHibernate.log
    log4j.appender.FrameWorkHibernate.DatePattern=yyyy-MM-dd'.log'
    log4j.appender.FrameWorkHibernate.layout=org.apache.log4j.PatternLayout 
    log4j.appender.FrameWorkHibernate.layout.ConversionPattern=[%c]-[%p] %m%n 
    log4j.appender.FrameWorkHibernate.append=falselog4j.appender.FrameWorkEhCache=org.apache.log4j.DailyRollingFileAppender 
    log4j.appender.FrameWorkEhCache.File=log/FrameWorkEhCache.log 
    log4j.appender.FrameWorkEhCache.DatePattern=yyyy-MM-dd'.log'
    log4j.appender.FrameWorkEhCache.layout=org.apache.log4j.PatternLayout 
    log4j.appender.FrameWorkEhCache.layout.ConversionPattern=[%c]-[%p] %m%n 
    log4j.appender.FrameWorkEhCache.append=false
      

  3.   

    不知道大家看看这个方法是不是可以
    DOMConfigurator.configure("log4j1.xml");  
    log.debug("testlog1");
    DOMConfigurator.configure("log4j2.xml"); 
    log.debug("testlog2");
    其中,log4j1,log4j2是两个不同的配置文件
      

  4.   

    那你岂不是一直在调用configure方法?
      

  5.   

    你可以在同一个XML文件中定义多个输出啊。log4j的配置功能很强啊