[log4perl-devel] setting defaults for appenders
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
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
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
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