% include( '/elements/header.html', 'Developer Documentation' ) %> <& /elements/menubar.html, 'Freeside Perl Modules' => $fsurl.'docs/library/FS.html', 'Complete Index' => $fsurl.'docs/library/index.html', &>
FS::Log - Freeside event log
use FS::Log;
sub do_something { my $log = FS::Log->new('do_something'); # set log context to 'do_something'
...
if ( $error ) {
$log->error('something is wrong: '.$error);
return $error;
}
# at this scope exit, do_something is removed from context
}
FS::Log provides an interface for logging errors and profiling information to the database. FS::Log inherits from Log::Dispatch.
Constructs and returns a log handle. CONTEXT must be a known context tag indicating what activity is going on, such as the name of the function or script that is executing.
Log context is a stack, and each element is removed from the stack when it goes out of scope. So don't keep log handles in persistent places (i.e. package variables or class-scoped lexicals).
Returns the current context stack.
Like Log::Dispatch::log, but OPTIONS may include:
- agentnum - object (an <FS::Record> object to reference in this log message) - tablename and tablenum (an alternate way of specifying 'object')
Subroutine. Returns ordered list of level nums.
Subroutine. Returns ordered map of level num => level name.
Not yet used universally; being phased in over time.
Not well documented. Should document the error levels we're using (debug, info, warning, error, critical) and the methods to log them.