database - LOG4J Multiple Loggers in same class -


i have java project has log4j logging. uses rolling file appender , multiple loggers log file. want add dbappender , have seperate logger writes appender, none of other loggers sending messages it. need, 1 class have 2 loggers, 1 writing fileappender , 1 writing dbappender. possible, if configuration it?

thanks

it's possible use 2 loggers in 1 class.

first idea: 2 loggers different names:

package com.mycompany.apackage.myclass;  public class myclass {     private static final logger = logger.getlogger(myclass.class)     private static final dblogger = logger.         getlogger(myclass.class.getname() + ".dblogger") } 

config package of dblogger:

<root>      <appender-ref ref="mainlog" />  </root>   <logger name="com.mycompany.apackage.myclass.dblogger">     <appender-ref ref="dbappender" /> </logger> 

(not tested.) in case dblogger logs mainlog appender. if it's not appropriate use custom filter in mainlog (and other) appenders filters out messages of dblogger. solution using different prefix dblogger:

    private static final logger = logger.getlogger(myclass.class)     private static final dblogger = logger.         getlogger("dblogger." + myclass.class.getname()) 

log4j config:

<root>  </root>   <logger name="com.mycompany">     <appender-ref ref="mainlog" /> </logger> <logger name="dblogger.com.mycompany">     <appender-ref ref="dbappender" /> </logger> 

note if pass same parameter getlogger() method same logger object, have use different names.


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -