• lumen 自定义错误日志文件


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

    <?php
    namespace App;
    use MonologLogger;
    use MonologHandlerStreamHandler;
    use MonologFormatterLineFormatter;
    
    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 可调用的方法详见 MonologLogger 类
         * @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等方式,详见Monologhandler 目录)
            $handler = new StreamHandler(storage_path($path) . date('Y-m-d').'.log', Logger::toMonologLevel($method), $bubble = true, $filePermission = 0777);
            //设置输出格式LineFormatter(MonologFormatterLineFormatter), ignore context and extra
            $handler->setFormatter(new LineFormatter(null, null, true, true));
            $instance->setHandlers([$handler]);
            $instance->$method($message, $context);
        }
    }
  • 相关阅读:
    判断IE浏览器的版本号
    解决下拉框第一行出现空格的问题
    Springboot整合log4j2日志全解
    Java NIO之Selector(选择器)
    ZooKeeper客户端 zkCli.sh 节点的增删改查
    Java API操作ZooKeeper
    ReentrantLock(重入锁)功能详解和应用演示
    MySQL高可用集群方案
    Redis高可用之集群配置(六)
    linux free命令详解
  • 原文地址:https://www.cnblogs.com/rcltocode/p/7246568.html
Copyright © 2020-2023  润新知