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.
Configuring Log adapters
You can configure log adapters in your applications bootstrap.php
file. A sample configuration
would look like:
CakeLog::config('my_log', array('engine' => 'FileLog'));
See the documentation on CakeLog::config() for more detail.
Writing to the log
You write to the logs using CakeLog::write(). See its documentation for more information.
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: Cake/Log/CakeLog.php
Properties summary
-
$_streams
protected staticarray
An array of connected streams. Each stream represents a callable that will be called when write() is called.
Method Summary
-
_autoConfig() protected static
Configures the automatic/default stream a FileLog. -
_getLogger() protected static
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 static
Configure and add a new logging stream to CakeLog You can use add loggers from app/Log/Engine use app.loggername, or any plugin/Log/Engine using plugin.loggername.
-
configured() public static
Returns the keynames of the currently active streams -
drop() public static
Removes a stream from the active streams. Once a stream has been removed it will no longer have messages sent to it.
-
write() public static
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() protected static ¶
_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.
Throws
config() public static ¶
config( string $key , array $config )
Configure and add a new logging stream to CakeLog You can use add loggers from app/Log/Engine use app.loggername, or any plugin/Log/Engine 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 the methods in CakeLogInterface.
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.
Throws
configured() public static ¶
configured( )
Returns the keynames of the currently active streams
Returns
Array of configured log streams.
drop() public static ¶
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
- Key name of a configured stream to remove.
write() public static ¶
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