]> git.etc.gen.nz Git - spong.git/commitdiff
added log() function to allow generic logging
authorStephen L Johnson <sjohnson@monsters.org>
Wed, 9 Feb 2000 20:15:51 +0000 (20:15 +0000)
committerStephen L Johnson <sjohnson@monsters.org>
Wed, 9 Feb 2000 20:15:51 +0000 (20:15 +0000)
added trap routines for __DIE__ and __WARN__ to log die() and warn() output

src/lib/Spong/Log.pm

index d3ef7e92b9c1136b3ae0d58527ffa83cfbd42610..ce1393cdaa393dab4215516cdcee4d10741a3d4c 100755 (executable)
@@ -32,6 +32,12 @@ my($errlog);
 &set_debug_context();
 &set_error_context();
 
+# Setup intercept routines for die and warn in order to log their infomation
+$main::SIG{'__DIE__'} = sub { if ( defined $^S && ! $^S && defined $errlog)
+                            { $errlog->log("die(): " . $_[0]); } };
+$main::SIG{'__WARN__'} = sub { if ( defined $^S && ! $^S && defined $errlog)
+                            { $errlog->log("warn(): " . $_[0]); } };
+
 # This function is used to set the debug logging context
 
 sub set_debug_context {
@@ -80,13 +86,19 @@ sub close_error_log {
    undef $errlog;
 }
 
-sub error {
+sub log {
    my( $message ) = @_;
 
    # if the error logger is not defined, create it.
    if ( ! defined $errlog ) { &open_error_log(); }
+   
+   $errlog->log("$message");
+}
+
+sub error {
+   my( $message ) = @_;
 
-   $errlog->log("Error: $message");
+   &log("Error: $message");
 }
 
 sub debug {