Class CakeLog
Logs messages to configured Log adapters. One or more adapters can be configured using CakeLogs's methods. If you don't configure any adapters, and write to the logs a default FileLog will be autoconfigured for you.
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: cake_log.php
Properties summary
-
$_streams
publicarray
An array of connected streams. Each stream represents a callable that will be called when write() is called.
Method Summary
-
_autoConfig() public
Configures the automatic/default stream a FileLog. -
_getLogger() public
Attempts to import a logger class from the various paths it could be on. Checks that the logger class implements a write method as well.
-
config() public
Configure and add a new logging stream to CakeLog You can use add loggers from app/libs use app.loggername, or any plugin/libs using plugin.loggername.
-
configured() public
Returns the keynames of the currently active streams -
drop() public
Removes a stream from the active streams. Once a stream has been removed it will no longer have messages sent to it.
-
getInstance() public
Get an instance -
handleError() public
An error_handler that will log errors to file using CakeLog::write(); You can control how verbose and what type of errors this error_handler will catch using
Configure::write('log', $value)
. See core.php for more information. -
write() public
Writes the given message and type to all of the configured log adapters. Configured adapters are passed both the $type and $message variables. $type is one of the following strings/values.
Method Detail
_getLogger() public ¶
_getLogger( string $loggerName )
Attempts to import a logger class from the various paths it could be on. Checks that the logger class implements a write method as well.
Parameters
- string $loggerName
- the plugin.className of the logger class you want to build.
Returns
boolean false on any failures, string of classname to use if search was successful.
config() public ¶
config( string $key , array $config )
Configure and add a new logging stream to CakeLog You can use add loggers from app/libs use app.loggername, or any plugin/libs using plugin.loggername.
Usage:
{{{ CakeLog::config('second_file', array( 'engine' => 'FileLog', 'path' => '/var/logs/my_app/' )); }}}
Will configure a FileLog instance to use the specified path. All options that are not engine
are passed onto the logging adapter, and handled there. Any class can be configured as a logging
adapter as long as it implements a write
method with the following signature.
write($type, $message)
For an explaination of these parameters, see CakeLog::write()
Parameters
- string $key
- The keyname for this logger, used to remove the logger later.
- array $config
- Array of configuration information for the logger
Returns
success of configuration.
configured() public ¶
configured( )
Returns the keynames of the currently active streams
Returns
Array of configured log streams.
drop() public ¶
drop( string $streamName )
Removes a stream from the active streams. Once a stream has been removed it will no longer have messages sent to it.
Parameters
- string $streamName
- $keyname Key name of a configured stream to remove.
handleError() public ¶
handleError( integer $code , string $description , string $file = null , integer $line = null , array $context = null )
An error_handler that will log errors to file using CakeLog::write();
You can control how verbose and what type of errors this error_handler will
catch using Configure::write('log', $value)
. See core.php for more information.
Parameters
- integer $code
- Code of error
- string $description
- Error description
- string $file optional null
- File on which error occurred
- integer $line optional null
- Line that triggered the error
- array $context optional null
- Context
write() public ¶
write( string $type , string $message )
Writes the given message and type to all of the configured log adapters. Configured adapters are passed both the $type and $message variables. $type is one of the following strings/values.
Types:
LOG_WARNING
=> 'warning',LOG_NOTICE
=> 'notice',LOG_INFO
=> 'info',LOG_DEBUG
=> 'debug',LOG_ERR
=> 'error',LOG_ERROR
=> 'error'
Usage:
Write a message to the 'warning' log:
CakeLog::write('warning', 'Stuff is broken here');
Parameters
- string $type
- Type of message being written
- string $message
- Message content to log
Returns
Success