Win a copy of Practical SVG this week in the HTML/CSS/JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Log4J - When to configure?

 
Scott Selikoff
author
Bartender
Posts: 4033
18
Eclipse IDE Flex Google Web Toolkit
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Each class in my project establishes a logger with the call:



I'd like to configure the Log4J using the call with:



Question, when should this call be made? Is the order that it happens relevant to when Logger.getLoger() is called?

The reason I ask is the pattern used in my code wraps Logger.getLogger(...) in a helper class that calls DOMConfigurator.configure(...) each time the Logger.getLogger(...) and I think I'm hitting an intermittent concurrency issue of some kind from the frequent calls to configure made by each class as it instatiates. The logger start ups fine, but stops writing to disk early in the startup process. A subsequent call to DOMConfigurator.configure() can reestablish the logger writing ability, but I'd like to know why it sometimes loses the ability to write to disk on startup.
 
Scott Selikoff
author
Bartender
Posts: 4033
18
Eclipse IDE Flex Google Web Toolkit
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Nevermind about the concurrency issue, found the cause, still not sure when configure() should be called. Before any loggers initialize, after, or does it not really matter?
 
Paul Clapham
Sheriff
Posts: 21892
36
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Call it as soon as possible. Log4j will initialize itself as soon as it can, i.e. as soon as you first do that. It isn't possible for you to do that before log4j's initialization.
 
Do you pee on your compost? Does this tiny ad?
the new thread boost feature brings a LOT of attention to your favorite threads
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!