noxdk/monolog-journal-handler
Composer 安装命令:
composer require noxdk/monolog-journal-handler
包简介
Monolog handler for journald (systemd) written in pure PHP
README 文档
README
Monolog handler for journald (systemd). This package does not depend on a systemd PHP extension.
Logs are being written directly to the journald socket. It uses LineFormatter for message formatting, but with a modified format, in order to remove timestamp from the message.
The formatter can be changed with $handler->setFormatter();
Features
- Support for custom tags (using monolog context/extra fields)
- Multiline log support
- Exception file and line log tags
Installation
Install with composer: composer require noxdk/monolog-journal-handler
Configuration arguments
| Argument | Description | Default value |
|---|---|---|
$path |
The path to the journald socket | /run/systemd/journal/socket |
$level |
The minimum logging level at which this handler will be triggered | Level::DEBUG |
$bubble |
Whether the messages that are handled can bubble up the stack or not | true |
Examples
Simple log entry:
<?php require 'vendor/autoload.php'; use Monolog\Logger; use Noxdk\MonologJournalHandler\JournalHandler; $log = new Logger('MyLogger', [new JournalHandler()]); $log->info('This is logged to the journal');
nov 20 10:08:14 host MyLogger[1]: INFO: This is logged to the journal
Multiple lines:
$log->info("This is logged to the journal\nand contains multiple\nlines");
nov 20 10:08:14 host MyLogger[1]: INFO: This is logged to the journal
and contains multiple
lines
Custom tags (journal entry as trimmed json output):
$log->info('This is logged to the journal with custom tag', [ 'MY_TAG' => 'MyTag', 'ANOTHER_TAG' => "With\nnewlines" ]);
nov 20 10:08:14 host MyLogger[1]: INFO: This is logged to the journal with custom tag {"MY_TAG":"MyTag","ANOTHER_TAG":"With
newlines"}
{
...
"SYSLOG_IDENTIFIER": "MyLogger",
"_HOSTNAME": "host",
"_UID": "1000",
"MY_TAG": "MyTag",
"ANOTHER_TAG": "With\nnewlines",
"MESSAGE": "INFO: This is logged to the journal with custom tag {\"MY_TAG\":\"MyTag\",\"ANOTHER_TAG\":\"With\nnewlines\"} ",
"PRIORITY": "6",
"_CMDLINE": "php test.php",
...
}
Exception log:
$log->error('Some error occurred', [new Exception('Bad something')]);
nov 20 10:08:14 host MyLogger[1]: ERROR: Some error occurred ["[object] (Exception(code: 0): Bad something at /test.php:18)
[stacktrace]
#0 /test.php(13): TestClass->update()
#1 /test.php(22): TestClass->__construct()
#2 {main}
"]
noxdk/monolog-journal-handler 适用场景与选型建议
noxdk/monolog-journal-handler 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 14.3k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 11 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 noxdk/monolog-journal-handler 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 noxdk/monolog-journal-handler 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 14.3k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-11-20