同一个log4j配置文件下有多个记录器,现在我想不同的类使用不通的记录器,要怎么使用?

解决方案 »

  1.   

    配置文件跟代码要配套比如配置文件的话:
    <appender name="file_appender" class="org.apache.log4j.DailyRollingFileAppender">
      <param name="File" value="S:/log.txt" />
      <param name="DatePattern" value="'.'yyyy-MM-dd" />
      <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{HH:mm:ss.SSS} %C{1}.%M - %m%n" />
      </layout>
    </appender>
    <logger name="xxx.ooo">
      <level value="warn" />
      <appender-ref ref="LOG_XXXOOO" />
    </logger>代码就:
    private static Logger log = Logger.getLogger(XXXOOO.class);就自然可以根据类包路径得到匹配的记录器
    <logger name="xxx.ooo"> 这里也可以不用包路径的方式,比如直接写:name="MY_LOG"
    代码就:
    private static Logger log = Logger.getLogger("MY_LOG");
      

  2.   


    logger name="xxx.ooo"这个logger使用哪个appender呢?上面靠它最近的一个吗?