首页 > 其他 > 详细

lumen 自定义错误日志文件

时间:2017-07-27 19:25:23      阅读:373      评论:0      收藏:0      [点我收藏+]

自定义错误日志文件,改造新的方法

<?php
namespace App;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;

class LogLib
{
    //define static log instance.
    protected static $_log_instance;
    /**
     * 获取log实例
     *
     * @return obj
     * @author Sphenginx
     **/
    public static function getLogInstance()
    {
        if (static::$_log_instance === null) {
            static::$_log_instance = new Logger(‘NOTICE‘);
        }
        return static::$_log_instance;
    }
    /**
     * Handle dynamic, static calls to the object.
     *
     * @param  string  $method 可用方法: debug|info|notice|warning|error|critical|alert|emergency 可调用的方法详见 Monolog\Logger 类
     * @param  array   $args 调用参数
     * @return mixed
     * @author Sphenginx
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::getLogInstance();
        //组织参数信息
        $message = $args[0];
        //记录上下文日志
        $context = isset($args[1]) ? $args[1] : [];
        //定义记录日志文件
        $path    = isset($args[2]) ? $args[2] : ‘/notice/‘;
        //设置日志处理手柄,默认为写入文件(还有mail、console、db、redis等方式,详见Monolog\handler 目录)
        $handler = new StreamHandler(storage_path($path) . date(‘Y-m-d‘).‘.log‘, Logger::toMonologLevel($method), $bubble = true, $filePermission = 0777);
        //设置输出格式LineFormatter(Monolog\Formatter\LineFormatter), ignore context and extra
        $handler->setFormatter(new LineFormatter(null, null, true, true));
        $instance->setHandlers([$handler]);
        $instance->$method($message, $context);
    }
}

 

lumen 自定义错误日志文件

原文:http://www.cnblogs.com/rcltocode/p/7246568.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!