The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Log::Dispatch::File::Stamped - Logging to date/time stamped files (UNAUTHORIZED RELEASE)

SYNOPSIS

  use Log::Dispatch::File::Stamped;

  my $file = Log::Dispatch::File::Stamped->new(
    name      => 'file1',
    min_level => 'info',
    filename  => 'Somefile.log',
    stamp_fmt => '%Y%m%d',
    mode      => 'append' );

  $file->log( level => 'emerg', message => "I've fallen and I can't get up\n" );

DESCRIPTION

This module subclasses Log::Dispatch::File for logging to date/time stamped files, respecting all its configuration options.

METHODS

new(%p)

This method takes the same set of parameters as Log::Dispatch::File::new(), with the following differences:

-- filename ($)

The filename template. The actual timestamp will be appended to this filename when creating the actual logfile. If the filename has an extension, the timestamp is inserted before the extension. See examples below.

-- stamp_fmt ($)

The format of the timestamp string. This module uses POSIX::strftime to create the timestamp string from the current local date and time. Refer to your platform's strftime documentation for the list of allowed tokens.

Defaults to '%Y%m%d'.

log_message( message => $ )

Sends a message to the appropriate output. Generally this shouldn't be called directly but should be called through the "log()" method (in Log::Dispatch::Output).

EXAMPLES

Assuming the current date and time is:

  % perl -e 'print scalar localtime'
  Sat Feb  8 13:56:13 2003

  Log::Dispatch::File::Stamped->new(
    name      => 'file',
    min_level => 'debug',
    filename  => 'logfile.txt',
  );

This will log to file 'logfile-20030208.txt'.

  Log::Dispatch::File::Stamped->new(
    name      => 'file',
    min_level => 'debug',
    filename  => 'logfile.txt',
    stamp_fmt => '%d%H',
  );

This will log to file 'logfile-0813.txt'.

SEE ALSO

Log::Dispatch::File, POSIX.

AUTHOR

Eric Cholet <cholet@logilune.com>

COPYRIGHT

The Log::Dispatch::File::Stamped is free software. You may distribute it under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.

ACKNOWLEDGEMENTS

Dave Rolsky, author of the Log::Dispatch suite and many other fine modules on CPAN.

This module was rewritten to respect all present (and future) options to Log::Dispatch::File by Karen Etheridge, <ether@cpan.org>.