Jon Portnoy > Bot-Cobalt > Bot::Cobalt::Logger::Output::File

Download:
Bot-Cobalt-0.016002.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.016002   Source  

NAME ^

Bot::Cobalt::Logger::Output::File - Bot::Cobalt::Logger file output

SYNOPSIS ^

  $output_obj->add(
    'MyFile' => {
      type => 'File',

      ## Required:
      file => $path_to_log,
      
      ## Optional:
      # perms() defaults to 0666 and is modified by umask:
      perms => 0666,
      # mode() should be Fcntl constants suitable for sysopen()
      # defaults to O_WRONLY | O_APPEND | O_CREAT
      mode => O_WRONLY | O_APPEND | O_CREAT,
    },
  );

See Bot::Cobalt::Logger::Output.

DESCRIPTION ^

This is a Bot::Cobalt::Logger::Output writer for logging messages to a file.

The constructor requires a "file" specification (the path to the actual file to write). "perms" or </mode> can also be set at construction time but are optional.

The log file is kept open persistently, but closed and reopened if the file's inode has changed or the file has disappeared. This doesn't apply on Windows, which has no concept of inodes; an open-write-close cycle will be executed for each logged message on systems without useful inode details, in order to ensure messages are going to the expected file.

Attempts to lock the file for every write.

Expects UTF-8.

file

Retrieve or set the current file path.

perms

Retrieve or set the permissions passed to sysopen().

This should be an octal mode and will be modified by the current umask.

Defaults to 0666

mode

Retrieve or set the open mode passed to sysopen().

See Fcntl.

Defaults to:

   O_WRONLY | O_APPEND | O_CREAT

AUTHOR ^

Jon Portnoy <avenj@cobaltirc.org>

syntax highlighting: