rpicms

A CMS for the Raspberry Pi
git clone git://archive.git.mtrnord.blog/RpicmsTeam/rpicms.git
Log | Files | Refs | README | LICENSE

LogWriter.php (2338B)


      1 <?php
      2 /**
      3  * Slim - a micro PHP 5 framework
      4  *
      5  * @author      Josh Lockhart <info@slimframework.com>
      6  * @copyright   2011 Josh Lockhart
      7  * @link        http://www.slimframework.com
      8  * @license     http://www.slimframework.com/license
      9  * @version     2.4.2
     10  * @package     Slim
     11  *
     12  * MIT LICENSE
     13  *
     14  * Permission is hereby granted, free of charge, to any person obtaining
     15  * a copy of this software and associated documentation files (the
     16  * "Software"), to deal in the Software without restriction, including
     17  * without limitation the rights to use, copy, modify, merge, publish,
     18  * distribute, sublicense, and/or sell copies of the Software, and to
     19  * permit persons to whom the Software is furnished to do so, subject to
     20  * the following conditions:
     21  *
     22  * The above copyright notice and this permission notice shall be
     23  * included in all copies or substantial portions of the Software.
     24  *
     25  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     26  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     27  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     28  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
     29  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
     30  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
     31  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     32  */
     33 namespace Slim;
     34 
     35 /**
     36  * Log Writer
     37  *
     38  * This class is used by Slim_Log to write log messages to a valid, writable
     39  * resource handle (e.g. a file or STDERR).
     40  *
     41  * @package Slim
     42  * @author  Josh Lockhart
     43  * @since   1.6.0
     44  */
     45 class LogWriter
     46 {
     47     /**
     48      * @var resource
     49      */
     50     protected $resource;
     51 
     52     /**
     53      * Constructor
     54      * @param  resource                  $resource
     55      * @throws \InvalidArgumentException If invalid resource
     56      */
     57     public function __construct($resource)
     58     {
     59         if (!is_resource($resource)) {
     60             throw new \InvalidArgumentException('Cannot create LogWriter. Invalid resource handle.');
     61         }
     62         $this->resource = $resource;
     63     }
     64 
     65     /**
     66      * Write message
     67      * @param  mixed     $message
     68      * @param  int       $level
     69      * @return int|bool
     70      */
     71     public function write($message, $level = null)
     72     {
     73         return fwrite($this->resource, (string) $message . PHP_EOL);
     74     }
     75 }