java log4j选择要登录的文件

Cra*_*lus 5 java logging tomcat log4j

我需要将来自同一类的调试消息记录到不同的文件中.
我的意思是,从同一个类我需要一个特定的调试语句去fileA另一个特定的调试语句去fileB.

如果不清楚,我想要做的是将网络消息记录到一个完全独立的文件,而不是该类输出的其他登录消息.

如果我做

<logger name="com.test.modules" additivity="false" >
    <priority value="debug"/>
    <appender-ref ref="netWorkCommunication"/>  
    <appender-ref ref="generalDebug"/>  
  </logger>  
Run Code Online (Sandbox Code Playgroud)

然后我的类的日志记录将转到两个文件(因为它来自同一个包).

如何配置log4j以便我可以从哪个类中选择哪个日志语句com.test.modules哪个文件appender

jal*_*aba 7

为每个文件使用单独的Logger:

private static Logger log = Logger.getLogger(YourClass.class);
private static Logger networkLog = Logger.getLogger("network." + YourClass.class.getName());
private static Logger httpLog = Logger.getLogger("http." + YourClass.class.getName());
Run Code Online (Sandbox Code Playgroud)

并像往常一样为每个Logger定义appender.