|No such thing as a small change|
Logging in a multi-process environmentby tex (Acolyte)
|on Oct 18, 2011 at 06:17 UTC||Need Help??|
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().
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