lumen cli日志和普通日志分开存储

lumen cli日志和普通日志分开存储

直接上代码

1.自定义LogServiceProvider
<?php
namespace App\Providers;
use Illuminate\Http\Request;
use Illuminate\Support\ServiceProvider;
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\RotatingFileHandler;
class LogServiceProvider extends ServiceProvider
{
    public function __construct($app)
    {
        parent::__construct($app);
    }

    public function boot(Request $request){
        $addr = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
        // 添加的请求标识
        $requestId =  $request['request_id'] = md5(time() . rand(1 , 1000));
        $file = storage_path("logs/log.log");
        if(app()->runningInConsole()){
            $file = storage_path("logs/cli-log.log");
        }
        //输出指定格式
        $outInput = "[%datetime%][ip:$addr][requestId:{$requestId}][Level:%level_name%][Message:%message% %context% %extra%]\n";
        $handlers[] = (new RotatingFileHandler($file, 5))
            ->setFormatter(new LineFormatter($outInput, 'Y-m-d H:i:s' , true, true));
        $this->app['log']->setHandlers($handlers);
    }
}
2.引入LogServiceProvider
//在bootstrap\app.php中引入
$app->register(App\Providers\LogServiceProvider::class);
本作品采用《CC 协议》,转载必须注明作者和本文链接
HAPPYDONG
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!