Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Log Closure

by cmilfo (Hermit)
on Aug 21, 2002 at 18:38 UTC ( [id://191823]=CUFP: print w/replies, xml ) Need Help??

Throwing together some code recently, I needed a log function that would keep a file handle open and scoped to itself. I've since found it useful in several places. If you find an reasons *not* to do something like this, please post!

c
#!/usr/bin/perl use warnings; use strict; my $log_file = createLog(time() . '.log'); $log_file->("$0 Initialized"); sub createLog { my $log_file = shift; open my $log_handle, ">$log_file" or die "Log file creation failed +: [$!]\n"; select((select($log_handle), $| = 1)[0]); return sub { my $msg = shift; my $time = scalar(localtime()); $msg = "BGN[$time]\n$msg\nEND[$time]\n\n"; if (fileno $log_handle) { print $log_handle $msg; } else { warn "Log file closed: $msg"; } return; } }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: CUFP [id://191823]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (1)
As of 2024-04-25 02:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found