当前位置:首页 > 后端 > php > slim使用logger日志自定义输出格式

slim使用logger日志自定义输出格式

DChen3年前 (2021-05-25)php2.14 K0

最近用了php的一个轻量级框架slim,之后采用了logger的日志包作为日志扩展,使用之后发现logger默认生成的日志格式不是很符合自己的需求(主要是不大喜欢),后面呢简单看了一下logger类,就重新定义了一下。下面是slim框架使用ContainerBuilder的写法,如果不需要的话直接去掉containerBuilder的写法即可

$containerBuilder->addDefinitions([
        "logger"=>function(ContainerInterface $ci){
            $dateFormat = "H:i:s";    // 定义输出的时间格式,默认输出格式是:Y-m-d\TH:i:sP
            $output = "[%datetime%] [%level_name%] %message% %context% \n";    // 定义输出的内容格式
            //$output = "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n";     // 默认输出格式
            $formatter = new \Monolog\Formatter\LineFormatter($output,$dateFormat);

            $settings = $ci->get('settings');
            $loggerSettings = $settings['logger'];
            $logger = new Logger($loggerSettings['name']);
            $processor = new UidProcessor();
            $logger->pushProcessor($processor);

            $handler = new StreamHandler($loggerSettings['path'],$loggerSettings['level']);
            $handler->setFormatter($formatter);
            $logger->pushHandler($handler);
            return $logger;
        }
]);

这里解释一下几个变量

datetime    // 时间
channel     // 设置的应用名
level_name  // 日志等级(debug、info、notice、warning、error、critical、alert、emergency)
message     //


取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

版权声明:本文由“憨小猪”发布,如需转载请注明出处。

本文链接:https://www.phper.red/post/91.html

标签: phpslimlogger

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。