NAME¶
Log::Dispatch::File::Locked - Subclass of Log::Dispatch::File to facilitate
locking
VERSION¶
version 2.44
SYNOPSIS¶
use Log::Dispatch;
my $log = Log::Dispatch->new(
outputs => [
[
'File::Locked',
min_level => 'info',
filename => 'Somefile.log',
mode => '>>',
newline => 1
]
],
);
$log->emerg("I've fallen and I can't get up");
DESCRIPTION¶
This module acts exactly like Log::Dispatch::File except that it obtains an
exclusive lock on the file while opening it.
CAVEATS¶
DANGER! Use very carefully in multi-process environments. Because the
lock is obtained at file open time, not at write time, you may experience
deadlocks in your system.
You can partially work around this by using the "close_after_write"
option, which causes the file to be re-opened every time a log message is
written.
Alternatively, the "syswrite" option does atomic writes, which may
mean that you don't need locking at all.
See Log::Dispatch::File) for details on these options.
SEE ALSO¶
"flock" in perlfunc
AUTHOR¶
Dave Rolsky <autarch@urth.org>
COPYRIGHT AND LICENSE¶
This software is Copyright (c) 2014 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)