自定义日志类及日志系统
定义日志类
laravel可以自定义日志类,记录自定义的信息。
自定义日志类需要以下改动:
- 提供一个工厂类用以生成Logger
- 提供一个日志处理者Handler
- 修改日志配置文件,指定加载工厂类
创建工厂类
在项目中新建目录和文件: app/Logging/RequestIdLoggerFactory.php 。然后,修改__invoke()成员方法,实现Logger的创建。其中依赖RequestIdHandler类,这个类中详细定义了日志信息记录方式。
<?php
namespace App\Logging;
use Monolog\Logger;
use Monolog\Formatter\LineFormatter;
use App\Logging\Handler\RequestIdHandler;
class RequestIdLoggerFactory {
/**
* @param array $config
* @return \Monolog\Logger
*/
public function __invoke(array $config) {
$formatter = new LineFormatter( null, 'Y-m-d H:i:s' );
$logHandler = new RequestIdHandler( $config[