处理程序、格式化程序和处理器
处理程序
记录到文件和系统日志
- 流处理程序 :将记录记录到任何 PHP 流中,将其用于日志文件。
- 旋转文件处理程序
:将记录记录到文件并每天创建一个日志文件。
它还将删除早于
$maxFiles
. 你应该使用 日志旋转 为了高调 设置虽然如此,但这仅是一种快速而肮脏的解决方案。 - 系统日志处理程序 :将记录记录到系统日志。
- 错误日志处理程序
: 将日志记录到 PHP
error_log()
功能。 - 进程处理程序 :将记录记录到 标准输入 由命令指定的任何进程。
发送警报和电子邮件
- NativeMailerHandler
:使用 PHP 发送电子邮件
mail()
功能。 - SymfonyMailerHandler
:使用
symfony/mailer
实例。 - PushoverHandler :通过 推倒 API。
- SlackWebhookHandler :将记录记录到 松弛 使用 Slack Webhooks 的帐户。
- SlackHandler :将记录记录到 松弛 使用 Slack API(复杂设置)的帐户。
- 发送网格处理器 :通过 SendGrid API 发送电子邮件。
- 山魈处理者
:通过
Mandrill API
使用Swift_Message
实例。 - 删除HookHandler :将记录记录到 弗利普 使用 Webhooks 进行对话。
- IFTTT处理器 :通知 互联网金融 使用日志通道、级别名称和消息触发。
- TelegramBotHandler :将记录记录到 电报 机器人账户。
- HipChatHandler :将记录记录到 HipChat 使用其 API 的聊天室。 已弃用 并在 Monolog 2.0 中被删除,请改用 Slack 处理程序,请参阅 Atlassian 的公告
- SwiftMailerHandler
:使用
Swift_Mailer
实例。 已弃用 并在 Monolog 3.0 中删除。请改用 SymfonyMailerHandler。
记录特定服务器和网络日志
- 套接字处理器 :将记录记录到 套接字 ,使用这个 用于 UNIX 和 TCP 套接字。请参阅 例子 。
- AmqpHandler :将记录记录到 消息队列协议 兼容的 服务器。需要 php-amqp 扩展(1.0+)或 php-amqplib 图书馆。
- 资金处理员 :将记录记录到 Graylog2 服务器。 需要包 graylog2/gelf-php 。
- ZendMonitorHandler :将记录记录到 Zend Server 中的 Zend Monitor。
- 新RelicHandler :将记录记录到 新Relic 应用。
- LogglyHandler :将记录记录到 洛格利 帐户。
- RollbarHandler :将记录记录到 防滚架 帐户。
- SyslogUdpHandler :将记录记录到远程 系统日志 服务器。
- 日志条目处理程序 :将记录记录到 日志条目 帐户。
- InsightOpsHandler :将记录记录到 InsightOps 帐户。
- LogmaticHandler :将记录记录到 逻辑学 帐户。
- 查询处理器 :将记录记录到 AWS SQS 队列。
- 渡鸦处理器 :将记录记录到 哨兵 服务器使用 乌鸦 。 已弃用 并在 Monolog 2.0 中删除,使用 sentry/sentry 2.x 和 哨兵\独白\处理程序 类。
开发日志
- FirePHP处理程序
: 代表
火PHP
,提供
排队
console
内的消息 萤火虫 。 - ChromePHP处理程序
: 代表
ChromePHP
,提供
排队
console
Chrome 中的消息。 - 浏览器控制台处理器
:处理程序将日志发送到浏览器的 Javascript
console
和 无需浏览器扩展。大多数浏览器都支持console
支持API。
登录数据库
- Redis处理程序 :将记录记录到 redis 通过 RPUSH 获取服务器的密钥。
- RedisPubSubHandler :将记录记录到 redis 通过 PUBLISH 服务器的渠道。
- MongoDB处理程序 :处理程序通过 蒙戈 扩展连接。
- CouchDB处理程序 :将记录记录到 CouchDB 服务器。
- DoctrineCouchDBHandler :通过 Doctrine CouchDB ODM 将日志记录到 CouchDB 服务器。
- ElasticaHandler :使用以下方式将记录记录到 Elasticsearch 服务器 ruflin/弹性 。
- ElasticsearchHandler :将记录记录到 Elasticsearch 服务器。
- DynamoDbHandler :将记录记录到 DynamoDB 表中,并使用 AWS 开发工具包 。
包装机/特殊处理机
- 手指交叉处理程序 :一个非常有趣的包装器。它接受一个处理程序作为 一个参数,并将累积所有级别的日志记录,直到一条记录 超过定义的严重程度。此时它会提供所有记录, 包括严重性较低的那些,将其包装到处理程序中。这意味着 直到错误真正发生之前,你不会在日志中看到任何内容,但是 当它发生时,你将获得完整的信息,包括调试和信息 记录。这为您提供了所需的所有信息,但仅限于 你需要它。
- 重复数据删除处理程序
:如果您要发送通知或电子邮件,此功能很有用
当发生严重错误时。它以处理程序作为参数,并将
累积各级日志记录,直到请求结束(或
flush()
被调用)。此时它将所有记录传递给处理程序 它会换行,但前提是记录在给定的时间段内是唯一的 (默认为 60 秒)。如果记录重复,则它们只是 丢弃。这主要用在发生严重故障时,例如您的 数据库无法访问,例如您的所有请求都将失败,并且 会导致发送大量通知。添加此处理程序可减少 将通知数量控制在可控的水平。 - WhatFailureGroupHandler :此处理程序扩展了 群组处理器 忽略 每个子处理程序引发的异常。这允许您忽略问题 远程 TCP 连接可能已经断开,但你不想让你的整个 应用程序崩溃并可能希望继续记录到其他处理程序。
- FallbackGroupHandler :此处理程序扩展了 群组处理器 忽略 每个子处理程序引发的异常,直到有一个处理程序处理完毕而没有抛出。 这可以让你忽略远程 TCP 连接可能中断的问题 但你不想让整个应用程序崩溃,可能希望继续 尝试记录到其他处理程序,直到不引发异常。
- 缓冲处理器
:此处理程序将缓冲收到的所有日志记录
直到
close()
被调用时它将调用handleBatch()
在 处理程序会一次性包装所有日志消息。这对于 例如,一次发送包含所有记录的电子邮件,而不是一封邮件 对于每个日志记录。 - 群组处理器 :此处理程序与其他处理程序分组。收到的每条记录都是 发送给其配置的所有处理程序。
- 过滤处理器 :此处理程序仅允许指定级别的记录通过 到包装的处理程序。
- 采样处理器 :环绕另一个处理程序并允许您采样记录 如果您只想存储其中一些。
- NoopHandler :此处理程序什么都不做,而是处理任何事情。它不会停止 处理堆栈的其余部分。这可用于测试,或在覆盖配置时禁用处理程序。
- 零处理器 :它可以处理的任何记录都将被丢弃。这可以使用 将其置于现有处理程序堆栈的顶部以暂时禁用它。
- 处理程序 :可用于将日志记录转发到现有的 PSR-3 记录器
- 测试处理器 :用于测试,它会记录发送给它的所有内容,并 有访问器可以读出信息。
- 处理器包装器 :您可以继承一个简单的处理程序包装器来创建 轻松创建自己的包装纸。
- 溢出处理程序 :此处理程序将缓冲它所 接收,直到达到配置的一定级别的消息数量阈值,之后它将传递所有 将消息记录到包装的处理程序中。当您只对重要信息感兴趣时,适用于批处理 故障而不是微小的、单一的错误事件。
格式化程序
- 行格式化程序 :将日志记录格式化为单行字符串。
- Html格式化程序 :用于将日志记录格式化为人类可读的html表格,主要适用于电子邮件。
- 规范化格式化程序 :将对象/资源规范化为字符串,以便记录可以轻松地被序列化/编码。
- 标量格式化程序 :用于将日志记录格式化为标量值的关联数组。
- JsonFormatter :将日志记录编码为 json。
- Wildfire格式化程序 :用于将日志记录格式化为Wildfire/FirePHP协议,仅对FirePHPHandler有用。
- ChromePHP格式化程序 :用于将日志记录格式化为ChromePHP格式,仅对ChromePHPHandler有用。
- 消息格式化程序 :用于将日志记录格式化为Gelf消息实例,仅对GelfHandler有用。
- Logstash格式化程序 :用于将日志记录格式化为 日志存储 事件 json,对输入下列出的任何处理程序都有用 这里 。
- ElasticaFormatter :用于将日志记录格式化为 Elastica\Document 对象,仅对 ElasticaHandler 有用。
- ElasticsearchFormatter :用于向日志记录添加索引和类型键,仅对 ElasticsearchHandler 有用。
- LogglyFormatter :用于将日志记录格式化为Loggly消息,仅对LogglyHandler有用。
- MongoDB格式化程序 :将 \DateTime 实例转换为 \MongoDate 并将对象递归转换为数组,仅适用于 MongoDBHandler。
- LogmaticFormatter :用于格式化日志记录 逻辑学 消息,仅对 LogmaticHandler 有用。
- FluentdFormatter :用于格式化日志记录 Fluentd 日志,仅对 SocketHandler 有用。
- GoogleCloudLoggingFormatter :用于格式化 Google Cloud Logging 的日志记录。它的工作原理类似于 JsonFormatter,但有一些细微的调整。
- 系统日志格式化程序 :用于将日志记录格式化为 RFC 5424/syslog 格式。这可用于输出 syslog 样式的文件,然后可由以下工具使用: 航航 。
处理器
- PsrLogMessage处理器
:根据 PSR-3 规则处理日志记录的消息,替换
{foo}
其价值来自$context['foo']
。 - 处理器平均负载 :将当前系统负载平均值添加到日志记录中。
- ClosureContextProcessor :允许通过在上下文中设置闭包来延迟创建上下文数据,该闭包在使用日志记录时调用
- 自省处理器 :添加日志调用来源的行/文件/类/方法。
- 网络处理器 :将当前请求URI、请求方法和客户端IP添加到日志记录中。
- 内存使用处理器 :将当前内存使用情况添加到日志记录中。
- 内存峰值使用率处理器 :将峰值内存使用情况添加到日志记录中。
- 进程ID处理器 :将进程 ID 添加到日志记录中。
- 用户界面处理器 :为日志记录添加唯一标识符。
- Git处理器 :将当前 git 分支并提交到日志记录。
- Mercurial处理器 :将当前 hg 分支并提交到日志记录。
- 标签处理器 :向日志记录添加预定义标签数组。
- 主机名处理器 :将当前主机名添加到日志记录中。
第三方软件包
第三方处理程序、格式化程序和处理器 维基百科中列出 。 你 如果您发布了,也可以在那里添加您自己的。
← 用法 | 实用类 → |