I am using log4j to log error and other system information. but come of the info logged twice at INFO level.
public static void main(final String... args) throws
Agree with atlantis.
log4j.rootCategory=INFO, console
log4j.logger.org.hibernate=INFO
The above property settings will cause double logging.
However adding
log4j.additivity.org.hibernate=false
fixed the issue.
Check out page 62 of this book. http://books.google.com/books?id=hZBimlxiyAcC&printsec=frontcover#v=onepage&q&f=false
Just simply add
logger.setadditivity(false);
to your code (Reference).
We are having double results in the console, it's because appenders are not singletons, they are additive. Meaning, a category inherits all the appenders from its ancestors (by default). If we add an appender to a category and it writes to the same underlying stream (console, same file etc.) as some other appender, the same log message will appear twice (or more) in the log. In addition, if two categories in a hierarchy are configured to use the same appender name, Log4j will write twice to that appender. Configured for that category
If you can run the program with a Java debugger, put a breakpoint in the program where one of these double logging calls happen.
Examine the logger object in the debugger. If it is an org.apache.log4j.Logger (v 1.2.x) then it may have an AppenderAttachableImpl. You can query the AppenderAttachableImpl for the appender list.
If you find more than 1 appender, this could be the problem - and a clue to fixing it.