[log4perl-devel] setting defaults for appenders

2008-05-12 Thread Jonathan Swartz
I've got a growing number of log files for different categories that I  
would like to all have the same layout and pattern, e.g.

   log4perl.appender.file1=  
Log::Log4perl::Appender::File
   log4perl.appender.file1.filename   = /path/to/ 
logfile/1
   log4perl.appender.file1.layout = PatternLayout
   log4perl.appender.file1.layout.ConversionPattern   = %d{dd/MMM/ 
:HH:mm:ss.SS} [%p] %c - %m - %F:%L %P-%n

   log4perl.appender.file2=  
Log::Log4perl::Appender::File
   log4perl.appender.file2.filename   = /path/to/ 
logfile/2
   log4perl.appender.file2.layout = PatternLayout
   log4perl.appender.file2.layout.ConversionPattern   = %d{dd/MMM/ 
:HH:mm:ss.SS} [%p] %c - %m - %F:%L %P-%n

   log4perl.appender.file3=  
Log::Log4perl::Appender::File
   log4perl.appender.file3.filename   = /path/to/ 
logfile/3
   log4perl.appender.file3.layout = PatternLayout
   log4perl.appender.file3.layout.ConversionPattern   = %d{dd/MMM/ 
:HH:mm:ss.SS} [%p] %c - %m - %F:%L %P-%n

In the spirit of DRY, I'd like to eliminate those repeated layout and  
layout.ConversionPattern lines.

What's the best way to do this? I'm happy to create whatever  
subclasses necessary, but looking at the Appender, Appender::File,  
Layout, and Layout::PatternLayout classes, it wasn't clear to me what  
to subclass.

Thanks
Jon


-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
log4perl-devel mailing list
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel


[log4perl-devel] setting defaults for appenders

2008-05-12 Thread Jonathan Swartz
I've got a growing number of log files for different categories that I  
would like to all have the same layout and pattern, e.g.

log4perl.appender.file1=  
Log::Log4perl::Appender::File
log4perl.appender.file1.filename   = /path/to/ 
logfile/1
log4perl.appender.file1.layout = PatternLayout
log4perl.appender.file1.layout.ConversionPattern   = %d{dd/MMM/ 
:HH:mm:ss.SS} [%p] %c - %m - %F:%L %P-%n

log4perl.appender.file2=  
Log::Log4perl::Appender::File
log4perl.appender.file2.filename   = /path/to/ 
logfile/2
log4perl.appender.file2.layout = PatternLayout
log4perl.appender.file2.layout.ConversionPattern   = %d{dd/MMM/ 
:HH:mm:ss.SS} [%p] %c - %m - %F:%L %P-%n

log4perl.appender.file3=  
Log::Log4perl::Appender::File
log4perl.appender.file3.filename   = /path/to/ 
logfile/3
log4perl.appender.file3.layout = PatternLayout
log4perl.appender.file3.layout.ConversionPattern   = %d{dd/MMM/ 
:HH:mm:ss.SS} [%p] %c - %m - %F:%L %P-%n

In the spirit of DRY, I'd like to eliminate those repeated layout and  
layout.ConversionPattern lines.

What's the best way to do this? I'm happy to create whatever  
subclasses necessary, but looking at the Appender, Appender::File,  
Layout, and Layout::PatternLayout classes, it wasn't clear to me what  
to subclass.

Thanks
Jon


-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
log4perl-devel mailing list
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel


Re: [log4perl-devel] setting defaults for appenders

2008-05-12 Thread Mike Schilli
On Fri, 9 May 2008, Jonathan Swartz wrote:

> I've got a growing number of log files for different categories that I
> would like to all have the same layout and pattern, e.g.

Hi Jonathan,

this is one of the items on my todo-list: To have an inheritance
mechanism that lets you say something like

log4perl.appender.file.inherits_from = \
log4perl.appender.file_base

and any property you don't specify in 'file' is inherited from
file_base. It's not in L4p yet, but hopefully soon! ;)

-- Mike

Mike Schilli
[EMAIL PROTECTED]

>
> log4perl.appender.file1=
> Log::Log4perl::Appender::File
> log4perl.appender.file1.filename   = /path/to/
> logfile/1
> log4perl.appender.file1.layout = PatternLayout
> log4perl.appender.file1.layout.ConversionPattern   = %d{dd/MMM/
> :HH:mm:ss.SS} [%p] %c - %m - %F:%L %P-%n
>
> log4perl.appender.file2=
> Log::Log4perl::Appender::File
> log4perl.appender.file2.filename   = /path/to/
> logfile/2
> log4perl.appender.file2.layout = PatternLayout
> log4perl.appender.file2.layout.ConversionPattern   = %d{dd/MMM/
> :HH:mm:ss.SS} [%p] %c - %m - %F:%L %P-%n
>
> log4perl.appender.file3=
> Log::Log4perl::Appender::File
> log4perl.appender.file3.filename   = /path/to/
> logfile/3
> log4perl.appender.file3.layout = PatternLayout
> log4perl.appender.file3.layout.ConversionPattern   = %d{dd/MMM/
> :HH:mm:ss.SS} [%p] %c - %m - %F:%L %P-%n
>
> In the spirit of DRY, I'd like to eliminate those repeated layout 
and
> layout.ConversionPattern lines.
>
> What's the best way to do this? I'm happy to create whatever
> subclasses necessary, but looking at the Appender, Appender::File,
> Layout, and Layout::PatternLayout classes, it wasn't clear to me 
what
> to subclass.
>
> Thanks
> Jon
>
>
> 
-
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
> ___
> log4perl-devel mailing list
> log4perl-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/log4perl-devel
>

-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
log4perl-devel mailing list
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel


Re: [log4perl-devel] Watchdog reporting

2008-05-12 Thread Mike Schilli
On Wed, 7 May 2008, Bill Moseley wrote:

> What I'm after is to have an email sent *as soon* as an error is
> detected.  But, then to collect any more errors for a few minutes
> before sending another email again to keep from flooding with email.
> (I also want to report to Nagios, but that's later.)
> Log::Dispatch::Email has a "buffered" option but I'm not sure that
> fits with the above.  Any existing solutions for the above?

The way this works in the buffered email appender is actually quite
different: It collects messages *until* a threshold is reached, then it
sends an email:

  http://log4perl.sourceforge.net/d/Log/Log4perl/FAQ.html#a0f6e

> What I'm attempting to do instead is have a separate File appender
> that only logs ERROR and above to a file, then watch that file.

If you're running a single process (and won't need to keep state on
restarts) there's no need to do this in a file appender. You could
define your own appender which maintains a (memory) buffer.

> So I have these settings for my appender:
>
> .recreate = 1
> .recreate_check_interval = 0
>
> But, that is not working -- the move is not detected.

Aha, that's a bug -- I've fixed it in 1.16 in CVS, to be released soon
-- thanks!

> Finally, another question.  I've got three appenders.  One for syslog,
> one for stderr, and one to a file.
>
> Is it possible to set a pattern that will apply to all?  Or do I have
> to specify a pattern for each appender?

Variable substitution should help with this:

   http://log4perl.sourceforge.net/d/Log/Log4perl.html#bd632

-- Mike

Mike Schilli
[EMAIL PROTECTED]

-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
log4perl-devel mailing list
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel