tex has asked for the wisdom of the Perl Monks concerning the following question:
I'm working on an application that creates many (e.g. 100) forks to do some OS related work (e.g. make some kind of backups).
I'd like to provide a verbose debug log. Each of my forks' output should end up in one logfile after my script has finished.
How should I implement this?
If I just fork w/ the open filehandle I'll end up having garbage and/or duplicate lines in my logfile.
I could close the logfile after each write and use Flock.
Or I could create a dedicated logging child that communicates with the other by the means of a pipe().
Anything else?
And if the solution would integrated nicely with Log::Dispatch I'd be super happy.
Please note that using the syslog is not an option here. I alreay have syslog logging in place for the more severe issues, but I don't want to put the debugging information into the syslog.
Thanks, tex
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Logging in a multi-process environment
by wwe (Friar) on Oct 18, 2011 at 07:28 UTC |