ajose has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks,
I am trying to add current localtime to each line in the log file. The option that i got now is to format the print statement as follows:
sub current_time { ... return $formatted_time; } print current_time . "$message\n";
The above method is fine, but has two issues. One, if the message is of multiple lines, time will be added to only the first line. Two, everytime when print is required, the format has to be changed to subroutine,"message". This applies to all 'die', 'croak' and unhandled system exceptions.
As I have learned, it is not possible to override Perl print function to add custom parameter. What can be done to get the log to printed in below format.
2013-04-10 10:23:01,967 Hash Dumper is: 2013-04-10 10:23:01,967 $VAR1 = { 2013-04-10 10:23:01,967 'c' => 'd', 2013-04-10 10:23:01,967 'a' => 'b' 2013-04-10 10:23:01,967 }; 2013-04-10 10:23:01,967 Single line message 2013-04-10 10:23:03,354 DEBUG test end
Any suggestion is appreciated
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Appending time to each line
by BrowserUk (Patriarch) on May 21, 2013 at 09:42 UTC | |
|
Re: Appending time to each line
by Corion (Patriarch) on May 21, 2013 at 09:47 UTC | |
by ajose (Acolyte) on May 21, 2013 at 10:35 UTC | |
by Corion (Patriarch) on May 21, 2013 at 10:58 UTC | |
by MidLifeXis (Monsignor) on May 21, 2013 at 13:05 UTC | |
by hdb (Monsignor) on May 21, 2013 at 13:49 UTC | |
|
Re: Appending time to each line
by hdb (Monsignor) on May 21, 2013 at 09:11 UTC |