关于laravel学习--laravel日志记录的两种方法

我们在编写程序的时候,经常会写程序日志记录下程序操作的日志,方便我们的测试,今天我们来自定义laravel日志记录

       今天,我们通过简单的封装方法,来自定义Laravel日志记录,详情我们可参考这篇文章(Laravel记录日志的两种方法)。

       我们先在我们的底层封装一个方法,先引入两个Laravel的函数,然后再封装我们的底层方法,代码如下:

use Monolog\Handler\StreamHandler;
use Monolog\Logger;
static function log($name,$title,$content,$level=Logger::INFO,$file='lumen')
{
   $log = new Logger($name);
   $log->pushHandler(new StreamHandler(storage_path
   ('logs/' . $name . '.' . $file . '.log'), 0));
   if ($level === Logger::INFO) {
      $log->addInfo($title . ':' . $content);
   } elseif ($level === Logger::ERROR) {
      $log->addError($title . ':' . $content);
   }
}

        封装好我们的最底层的方法之后,我们再分别封装两个方法,一个是用来记录错误的日志,一个是用来记录正确的日志,这样分开也有利于我们的查看,引入的参数分别是【标题】【记录内容】【记录保存的文件名】,我这里是后端的记录日志,如果想记录前端的话,将'admin'换成'home'即可,代码如下:

/**
 * 信息日志
 * @param $title
 * @param $content
 * @param string $file
 */
static function logInfo($title, $content, $file = 'lumen')
{
   self::log('admin', $title, $content, Logger::INFO, $file);
}
/**
 * 错误日志
 * @param $title
 * @param $content
 * @param string $file
 */
static function logError($title, $content, $file = 'lumen')
{
   self::log('admin', $title, $content, Logger::ERROR, $file);
}

         之后我们便可以在我们的业务层那里调用了,最好将以上两个方法放在公用业务层那里,也方便我们调用,下面我们来调用我们自定义的日志方法,代码如下:

self::logError('测试', '这是记录报错的日志', 'test');
self::logInfo('测试', '这是记录正确的日志', 'test');

这样我们便成功的自定义了我们的日志记录并成功调用。