diff options
author | Frédéric Guillot <fred@kanboard.net> | 2018-03-05 12:04:28 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2018-03-05 12:04:28 -0800 |
commit | 299198f7181fccf1e9a684649d173a1ebbdfbd1e (patch) | |
tree | c2539efcfae3b193603bbff22dde8b84fd7f9981 /app/Core/Log/File.php | |
parent | a991758e98fc614d35ec67ec904c78fa0ff6feeb (diff) |
Move SimpleLogger lib into app source tree
Diffstat (limited to 'app/Core/Log/File.php')
-rw-r--r-- | app/Core/Log/File.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/app/Core/Log/File.php b/app/Core/Log/File.php new file mode 100644 index 00000000..19260b3c --- /dev/null +++ b/app/Core/Log/File.php @@ -0,0 +1,48 @@ +<?php + +namespace Kanboard\Core\Log; + +use RuntimeException; + +/** + * File Logger + * + * @package Kanboard\Core\Log + * @author Frédéric Guillot + */ +class File extends Base +{ + /** + * Filename + * + * @access protected + * @var string + */ + protected $filename = ''; + + /** + * Setup logger configuration + * + * @param string $filename Output file + */ + public function __construct($filename) + { + $this->filename = $filename; + } + + /** + * Logs with an arbitrary level. + * + * @param mixed $level + * @param string $message + * @param array $context + */ + public function log($level, $message, array $context = array()) + { + $line = $this->formatMessage($level, $message, $context); + + if (file_put_contents($this->filename, $line, FILE_APPEND | LOCK_EX) === false) { + throw new RuntimeException('Unable to write to the log file.'); + } + } +} |