nztim/logger

此包已被废弃,不再维护。作者建议使用laravel/laravel包。

Laravel 5的日志包

v0.8 2018-06-13 01:37 UTC

This package is auto-updated.

Last update: 2020-04-26 23:34:21 UTC


README

#Logger

Logger扩展或替代了标准的Laravel日志功能。它将日志记录到本地文件,并提供可选的邮件警报。

###安装

注册服务提供者
NZTim\Logger\LoggerServiceProvider::class,

添加外观引用
'Logger' => NZTim\Logger\LoggerFacade::class,

配置

使用以下命令发布配置文件: php artisan vendor:publish --provider=NZTim\Logger\LoggerServiceProvider

  • 'laravel' => true, 捕获Laravel日志外观消息
  • 'folder' => 'custom' 设置自定义日志的默认子文件夹
  • 'daily' => [] 要处理的日志文件的列表,作为每日日志
  • 'max_daily' => 7 保留每日日志文件的最大数量
  • 'email.send' => false 开关错误邮件的发送/关闭
  • 'email.level' => 'ERROR' 设置发送邮件通知的级别
  • 'email.recipient' => 'recipient@example.com', 设置邮件接收者

使用方法

使用外观将日志写入自定义日志文件。默认情况下,文件存储在storage/logs/custom

Logger::info('auth', 'User login from 1.2.3.4');
Logger::warning('audit', 'A record was updated');
Logger::error('exceptions', 'Fatal exception: ');  

如果要在子文件夹中存储日志文件,请使用点表示法

Logger::info('audit.auth', 'User login from 1.2.3.4'); // Logs to `storage/logs/custom/audit/auth.log`

有一个requestInfo()方法可用于提供消息的上下文,包括IP地址、请求类型/URL、Auth::user()->id和输入数据

Logger::warning('audit', 'An unusual request', Logger::requestInfo());

在日志过程中发生的致命错误,存储在storage/logs/fatal-logger-errors.log中。例如,当系统无法发送错误通知时,将在此处记录一条消息。

挂钩到Laravel异常

确保logger.laravel配置选项设置为true,并更新您的错误处理器

// app/Exceptions/Handler.php
use Logger;

public function report(Exception $e)
{
    $class = (new \ReflectionClass($e))->getShortName();
    Logger::error('exceptions', "Exception {$class} | {$e->getMessage()}", Logger::requestInfo());
    return parent::report($e);
}

邮件警报

只有在开启邮件发送、app.debug为false且相关的错误级别符合要求时,才会触发邮件。必须配置Laravel邮件系统才能使用邮件功能。

数据库处理器

  • 使用以下命令添加表: php artisan logger:migrationphp artisan migrate
  • 使用配置文件设置应记录到数据库的通道
  • 现在您可以使用Eloquent模型DbEntry查询数据库

变更日志

  • v0.6: 通过配置启用每日日志文件
    • 升级:添加新的配置文件条目:'daily' => [], 'max_daily' => 7,
  • v0.5: 启用基本文件夹和子文件夹的点表示法配置
    • 升级:添加新的配置文件条目:'folder' => 'custom',
  • v0.4: 添加数据库处理器。
    • 升级:添加新的配置文件条目。要将条目记录到数据库中,请添加并运行迁移,然后根据需要更新配置文件设置。
  • v0.3:移除Papertrail处理器,使用配置文件代替.env,需要PHP7。
    • 升级:发布和更新配置文件,确保不需要Papertrail处理器。