|
From: Erskine, T. \(IT\) <Tho...@mo...> - 2008-10-30 15:03:28
|
Hi Mike.
I want to have the appender defined in the configuration for
doccumentation and because having log configuration external to the
program is (at least) half the point of a logging system IMHO.
The problem with setting a threshold on the appender to cause it not ot
log is that I don't see a way to programmatically set the threshold to a
specific level. It can be bumped up or down, but that requires the
program to know where the threshold was set in the configuration. I.E.
configuration in the program, which I'm trying to avoid.
The best I've been able to come up with is to define a logger with a
threshold which won't log, call it deactivated, and assign this appender
to it. Then to activate this appender, I can use appender_by_name(...)
and get_root_logger()->add_appender(...). It took me a while to find it
as get_root_logger is only defined on Log::Log4perl::Logger, not in
Log::Log4perl.
Thomas Erskine
Consultant | Technology
2000 Barrington St | Suite 300 | Floor 04
Halifax, NS B3J3K1
Phone: +1 902 442-4709
Tho...@mo...
> -----Original Message-----
> From: Mike Schilli [mailto:m...@pe...]
> Sent: Wednesday, October 29, 2008 5:29 PM
> To: Erskine, Thomas (IT)
> Cc: log...@li...
> Subject: Re: [log4perl-devel] activating appenders
>
> On Wed, 29 Oct 2008, Erskine, Thomas (IT) wrote:
>
> > I want to be able to define an appender in the log4perl
> config file,
> > but not activated and then activate it programmatically However,
> > Log::Log4perl->appender_by_name('SCREENDEBUG') returns undef.
> >
> > I guess I could add SCREENDEBUG to the log4perl.logger line
> and define
> > it with a threshold which won't log anything and then bump the
> > threshold up at runtime, but it seems wrong somehow.
>
> An appender that's not assigned to any logger in the
> configuration is ignored by Log4perl at this point -- I think
> that using a threshold, as you've suggested, is a perfectly
> valid solution, though.
>
> Alternatively, you can define the appender programmatically
> and add it to the logger via add_appender().
>
> -- Mike
>
> Mike Schilli
> m...@pe...
>
--------------------------------------------------------
NOTICE: If received in error, please destroy and notify sender. Sender does not intend to waive confidentiality or privilege. Use of this email is prohibited when received in error.
|