I have a couple of questions about an implementation detail in the
"Revised log4j interfaces" proposal.
I am just finishing up an implementation that tries to solve the problem
discussed in the proposal. It does so by providing a way to store the
current thread name and requested category name when a category is
created (using the getInstance(name, factory) method), which in turn
allows all classes within this thread to simply call getInstance() or
getInstance(nameToAppendToOriginalCatgoryName) rather than having to be
configured for each application. This functionality is performed in a
subclass of the Category class. Also included in this subclass is a
CategoryKey, that can be retrieved by calling getCategoryKey. The
CategoryKey quite simply holds the name of the thread that created the
Category. This key should then be retrieved when the Category is first
created (by the getInstance(name, CategoryFactory) method) and used by
different threads to reference the original Category, using a
getInstance(CategoryKey) method (i.e. allow all classes in used by new
thread to also use the same Category). An entirely new Category, based
on the original Category, could be created with a
getInstance(nameToAppendToOriginalCatgoryName, CategoryKey) method.
My questions are: At what level will applicationContext be assigned
(thread I am assuming)?... If so, how will multithreaded applications be
able to associate different threads with the same Category (for servlets,
a Category might be first created in the init() method).
As I have been working with this implementation I began to think how much
of a role the NDC might be able to play in this type of thing. Maybe it
could be fully or partially responsible for handling this.
Cory Updyke
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]