Added new Logger class, as the basic logging implementation and moved application/log to application/logs
This commit is contained in:
parent
f1bfd1aad1
commit
2742517630
56
system/classes/logger.php
Normal file
56
system/classes/logger.php
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
<?php defined('SYSPATH') or die('No direct script access.');
|
||||||
|
/**
|
||||||
|
* Message logging.
|
||||||
|
*
|
||||||
|
* @package Core
|
||||||
|
* @author Kohana Team
|
||||||
|
* @copyright (c) 2008-2009 Kohana Team
|
||||||
|
* @license http://kohanaphp.com/license.html
|
||||||
|
*/
|
||||||
|
class Logger_Core {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string format of timestamp added to each message
|
||||||
|
*/
|
||||||
|
public static $timestamp = 'Y-m-d H:i:s';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Writes a new log message.
|
||||||
|
*
|
||||||
|
* Logger::write('debug', 'Testing the creation of log messages');
|
||||||
|
*
|
||||||
|
* @param string type of log (debug, error, etc)
|
||||||
|
* @param string message to log
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function write($type, $message)
|
||||||
|
{
|
||||||
|
// Set the log directory
|
||||||
|
$directory = APPPATH.'logs/'.date('Y/m');
|
||||||
|
|
||||||
|
if ( ! is_dir($directory))
|
||||||
|
{
|
||||||
|
// Create the log directory
|
||||||
|
mkdir($directory, 0777, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the log filename
|
||||||
|
$filename = $directory.date('/d').'.log.php';
|
||||||
|
|
||||||
|
if ( ! file_exists($filename))
|
||||||
|
{
|
||||||
|
// Create the log file
|
||||||
|
file_put_contents($filename, Kohana::PHP_HEADER.' ?>'.PHP_EOL);
|
||||||
|
|
||||||
|
// Prevent external writes
|
||||||
|
chmod($filename, 0644);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create the message timestamp
|
||||||
|
$timestamp = date(Logger::$timestamp);
|
||||||
|
|
||||||
|
// Add the message to the log
|
||||||
|
return (bool) file_put_contents($filename, PHP_EOL."{$timestamp} --- {$type}: {$message}", FILE_APPEND);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // End Logger
|
Loading…
Reference in a new issue