summaryrefslogtreecommitdiff
path: root/system/libraries/drivers/Log/File.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-11-24 19:20:36 -0800
committerBharat Mediratta <bharat@menalto.com>2009-11-24 19:20:36 -0800
commit9b6663f87a7e679ffba691cf516191fc840cf978 (patch)
tree20cf9f3aaf93b4ba69d282dcf10d259db4a752de /system/libraries/drivers/Log/File.php
parent82ee5f9d338017c69331b2907f37a468ced8c66e (diff)
Update to Kohana r4684 which is now Kohana 2.4 and has substantial
changes.
Diffstat (limited to 'system/libraries/drivers/Log/File.php')
-rw-r--r--system/libraries/drivers/Log/File.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/system/libraries/drivers/Log/File.php b/system/libraries/drivers/Log/File.php
new file mode 100644
index 00000000..6ad565b4
--- /dev/null
+++ b/system/libraries/drivers/Log/File.php
@@ -0,0 +1,44 @@
+<?php defined('SYSPATH') OR die('No direct access allowed.');
+/**
+ * Log API driver.
+ *
+ * $Id: File.php 4679 2009-11-10 01:45:52Z isaiah $
+ *
+ * @package Kohana_Log
+ * @author Kohana Team
+ * @copyright (c) 2007-2009 Kohana Team
+ * @license http://kohanaphp.com/license
+ */
+class Log_File_Driver extends Log_Driver {
+
+ public function save(array $messages)
+ {
+ // Filename of the log
+ $filename = $this->config['log_directory'].'/'.date('Y-m-d').'.log'.EXT;
+
+ if ( ! is_file($filename))
+ {
+ // Write the SYSPATH checking header
+ file_put_contents($filename,
+ '<?php defined(\'SYSPATH\') or die(\'No direct script access.\'); ?>'.PHP_EOL.PHP_EOL);
+
+ // Prevent external writes
+ chmod($filename, $this->config['posix_permissions']);
+ }
+
+ foreach ($messages AS $message)
+ {
+ if ($this->config['log_levels'][$message['type']] <= $this->config['log_threshold'])
+ {
+ // Add a new message line
+ $messages_to_write[] = date($this->config['date_format'], $message['date']).' --- '.$message['type'].': '.$message['message'];
+ }
+ }
+
+ if ( ! empty($messages_to_write))
+ {
+ // Write messages to log file
+ file_put_contents($filename, implode(PHP_EOL, $messages_to_write).PHP_EOL, FILE_APPEND);
+ }
+ }
+} \ No newline at end of file