日志(Logging)
介绍
为了帮助你了解程序中正在发生什么,Laravel 提供了健壮的日志服务,允许你记录日志信息到文件,到系统错误日志,甚至到 Slack 通知你的整个团队。
Laravel 日志基于「 通道 」。每个通道代表一个具体的记录日志消息的方式。举例来说,single
通道会把日志记录到一个单独的文件里, slack
通道会发送日志信息到 Slack。基于它们的重要程度,日志可能会被写入到多个通道中去。
Laravel 使用了 Monolog 库,它为各种强大的日志处理提供支持。Laravel 使配置这些处理器变得小菜一碟,它允许以混合和匹配的方式,自定义你的程序日志处理。
配置
所有的应用程序日志系统配置都位于 config/logging.php
配置文件中。这个文件允许你配置程序的日志通道,因此务必查看每个可用通道和它们的选项。我们将在下 面回顾一些常用的选项。
Laravel 默认使用 stack
通道记录日志消息。 stack
通道被用于将多个日志通道集成到一个单独的通道中去。获得更多构建堆栈信息,请查看 以下文档 。
配置通道名
默认情况下,Monolog 用与当前环境匹配的 channel name
实例化,例如 production
或 local
。要更改此值,请在通道配置中添加 name
选项:
'stack' => [
'driver' => 'stack',
'name' => 'channel-name',
'channels' => ['single', 'slack'],
],
可用的通道驱动
每个日志通道都由一个驱动程序驱动。驱动程序确定日志消息的实际记录方式和位置。以下日志通道驱动程序在每个 Laravel 应用程序中都可用。大多数驱动程序的条目已经存在于应用程序的 config/logging.php
配置文件中,因此请务必查看此文件以熟悉其内容:
名称 | 说明 |
---|---|
custom | 调用指定工厂来创建通道的驱动程序 |
daily | 一个基于 RotatingFileHandler 的每日循环的 Monolog 驱动程序 |
errorlog | 基于 ErrorLogHandler 的 Monolog 驱动程序 |
monolog | 可以使用任何支持的 Monolog 处理程序的 Monolog 工厂驱动程序 |
null | 丢弃所有日志消息的驱动程序 |
papertrail | 基于 SyslogUdpHandler 的 Monolog 驱动程序 |
single | 单个基于文件或路径的记录器通道 (StreamHandler ) |
slack | 基于 SlackWebhookHandler 的 Monolog 驱动程序 |
stack | 该通道有助于创建 「多通道」 的包装器 |
syslog |