If you use log4j without any extras it's good practice to declare the logger as
private static final Logger myLog = Logger.getLogger( MyClass.class ); private: because every descendant in class hierarchie can have its own logger instance (i.e. for fintuning the log levels) static: because the logger is loaded only once (when loading the class the first time) final: because the logger reference does not change during the runtime of the app If you use a own repository selector in order to separate some logger universes (LogManager and it's default RepositorySelector is a singleton per classloader) then you have to consider following: - if the class is only used in one Logger universe you can declare it like above - if the class is used in different Logger universes, but a instance of the class is used only in one, you omit the "static" - if a class instance is used in different Logger universes, or a util class with static methods, you have to get the logger instance locally in every method. Heri > -----Original Message----- > From: Konstantinos Karadamoglou [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 13, 2006 12:27 PM > To: log4j-user@logging.apache.org > Subject: [SPAM (Bayesain Analysis)] - Best practice on > declaring Loggers > - Bayesian Filter detected spam > > > Hello all, > > Which is the best practice of declaring Loggers? For > instance, should they > be static, private, final? and why? > > Thank you in advance, Kostas > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]