nztim / logger
v0.8
2018-06-13 01:37 UTC
Requires
- php: >=7.0.0
- laravel/framework: ^5.1
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:migration
和php artisan migrate
- 使用配置文件设置应记录到数据库的通道
- 现在您可以使用Eloquent模型
DbEntry
查询数据库
变更日志
- v0.6: 通过配置启用每日日志文件
- 升级:添加新的配置文件条目:
'daily' => [], 'max_daily' => 7,
- 升级:添加新的配置文件条目:
- v0.5: 启用基本文件夹和子文件夹的点表示法配置
- 升级:添加新的配置文件条目:
'folder' => 'custom',
- 升级:添加新的配置文件条目:
- v0.4: 添加数据库处理器。
- 升级:添加新的配置文件条目。要将条目记录到数据库中,请添加并运行迁移,然后根据需要更新配置文件设置。
- v0.3:移除Papertrail处理器,使用配置文件代替.env,需要PHP7。
- 升级:发布和更新配置文件,确保不需要Papertrail处理器。