Difference between revisions of "Freeside:3:Documentation:Developer/FS/Log"

From Freeside
Jump to: navigation, search
m (Edit via perl MediaWiki framework (1.13))
m (Edit via perl MediaWiki framework (1.13))
Line 20: Line 20:
  
 
==CLASS METHODS==
 
==CLASS METHODS==
; new CONTEXT
+
:new CONTEXT
 +
 
 
: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.
 
: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).
 
: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).
; context
+
 
 +
:context
 +
 
 
:Returns the current context stack.
 
:Returns the current context stack.
; log LEVEL, MESSAGE[, OPTIONS ]
+
 
 +
:log LEVEL, MESSAGE[, OPTIONS ]
 +
 
 
:Like [[Freeside:3:Documentation:Developer/Log/Dispatch/log|Log::Dispatch::log]], but OPTIONS may include:
 
:Like [[Freeside:3:Documentation:Developer/Log/Dispatch/log|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')
 
:- agentnum - object (an <FS::Record> object to reference in this log message) - tablename and tablenum (an alternate way of specifying 'object')
 +
 +
==POD ERRORS==
 +
Hey! '''The above document had some coding errors, which are explained below:'''
 +
 +
; Around line 50&#58;
 +
:You can't have =items (as at line 78) unless the first thing after the =over is an =item

Revision as of 07:42, 24 March 2015

NAME

FS::Log - Freeside event log

SYNOPSIS

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

}

DESCRIPTION

FS::Log provides an interface for logging errors and profiling information to the database. FS::Log inherits from Log::Dispatch.

CLASS METHODS

new CONTEXT
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).
context
Returns the current context stack.
log LEVEL, MESSAGE[, OPTIONS ]
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')

POD ERRORS

Hey! The above document had some coding errors, which are explained below:

Around line 50:
You can't have =items (as at line 78) unless the first thing after the =over is an =item