Laravel结合monolog做日志记录

config/app.php 

'debug' => env('APP_DEBUG', true),

日志记录有四种 定义好的格式 : "single", "daily", "syslog", "errorlog"

 'log' => 'daily',//日志按日期记录


 'log' => 'single', 


 'log' => 'syslog', 


 'log' => 'errorlog', 


除了以上四个还以自定义:

bootstrap/app.php return $app;前面添加这个

/*自定义monolog 日志记录:*/

$app->configureMonologUsing(function(Monolog\Logger $monolog) {

    $filename = storage_path('/logs/project-' . php_sapi_name() . '.log');//ERROR DEBUG
    $handler = new Monolog\Handler\RotatingFileHandler($filename, 0, \Monolog\Logger::ERROR, true, 0664);
    $monolog->pushHandler($handler);
  
});

待续....


写入数据库,发送邮件...

发现一个超好实在的

借用里面的写入数据库

因为自己之前看文档的时候也是懵懵,后面发现handler方法可以自己拓展,然后实例接口AbstractProcessingHandler就行了


https://juejin.im/entry/574f072d49830c00584680de

PDOHandler


调用的时候如果是在bootstrap调用的时候


  $mysql = array(
    'driver'    => 'mysql',
    'host'      => env('DB_HOST') ?: '',
    'database'  => env('DB_DATABASE') ?: '',
    'username'  => env('DB_USERNAME') ?: '',
    'password'  => env('DB_PASSWORD') ?: '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
    'strict'    => false,
    );

    $ds="mysql:dbname=".$mysql['database'].";host=".$mysql['host'];
    $pdo = new PDO($ds, $mysql['username'], $mysql['password']);
    $handlerdb = new Monolog\Handler\PDOHandler($pdo,\Monolog\Logger::ERROR,true);
    $monolog->pushHandler($handlerdb);

上面直接用的代码会一直报 Monolog\Handler\PDOHandler::_construct() must be an instance of Monolog\Handler\PDO

在里面增加

namespace Monolog\Handler;
use PDO;//增加这个即可
use Monolog\Logger;
use Monolog\Handler\AbstractProcessingHandler;


取值的时候发现的一个bug

当环境切换为生成环境的时候,env取到的数据都为Null


要用config()方法去取数据。

   $mysql = array(
        'host'      => config('database.connections.mysql.host'), 
        'database'  => config('database.connections.mysql.database'),
        'username'  => config('database.connections.mysql.username'),
        'password'  => config('database.connections.mysql.password'),
    ); 

发布了19 篇原创文章 · 获赞 5 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/u011151452/article/details/72547791