总结
豆包 AI 助手文章总结

如何解决PHP日志与NewRelic集成问题?使用marketredesign/newrelic-monolog-enricher可以!

王林
发布: 2025-05-26 14:03:30
原创
957人浏览过

可以通过一下地址学习composer学习地址 在处理 PHP 应用的日志记录时,如何将这些日志有效地与 New Relic 平台集成是一个常见的挑战。我曾遇到过一个项目,日志记录系统与 New Relic 的集成出现了问题,导致无法有效地监控和分析应用的性能和错误。经过一番探索,我发现了 marketredesign/newrelic-monolog-enricher 这个库,它让我轻松地解决了这个问题。

这个库提供了一套组件,专门用于将 monolog 与 new relic logs 进行集成。它的核心功能包括三个部分:

  1. Handler:直接将 Monolog 的日志记录发送到 New Relic Logs。
  2. Processor:与 New Relic PHP 代理一起使用,可以为日志记录添加链接元数据,从而实现跨 New Relic 平台的数据关联。
  3. Formatter:扩展了 Monolog 提供的 JsonFormatter,格式化处理后的日志记录,使其符合 New Relic Logs 及其支持的插件所期望的 JSON 结构。

安装这个库非常简单,只需使用 Composer:

composer require newrelic/monolog-enricher
登录后复制

以下是一个简单的例子,展示如何使用 Processor 和 Handler 将日志直接发送到 New Relic Logs:

use Monolog\Logger;
use NewRelic\Monolog\Enricher\{Handler, Processor};

$log = new Logger('log');
$log->pushProcessor(new Processor);
$log->pushHandler(new Handler);

$log->info('Hello, world!');
登录后复制

如果你没有使用 New Relic APM,可以跳过添加 Processor,因为 Handler 可以独立运行。

为了优化性能,你可以选择性地发送日志记录,或者使用 Monolog 的 BufferHandler 来批量处理日志记录:

立即学习PHP免费学习笔记(深入)”;

use Monolog\Handler\BufferHandler;
use Monolog\Logger;
use NewRelic\Monolog\Enricher\{Handler, Processor};

$log = new Logger('log');
$log->pushProcessor(new Processor);
$log->pushHandler(new BufferHandler(new Handler));

$log->info('Hello, world!');
登录后复制

如果你已经配置了其他日志工具(如 Fluentd 或 AWS CloudWatch)来发送日志到 New Relic Logs,你可以使用 Processor 和 Formatter 来与这些工具集成:

use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use NewRelic\Monolog\Enricher\{Formatter, Processor};

$log = new Logger('log');
$log->pushProcessor(new Processor);

$handler = new StreamHandler('php://stderr');
$handler->setFormatter(new Formatter);
$log->pushHandler($handler);

$log->info('Hello, world!');
登录后复制

使用 marketredesign/newrelic-monolog-enricher 库后,我的项目成功地将日志与 New Relic 平台集成,极大地提高了监控和分析的效率。这个库不仅简化了集成过程,还提供了灵活的配置选项,帮助我更好地管理和优化日志记录。

总的来说,marketredesign/newrelic-monolog-enricher 是一个非常实用的工具,适用于需要将 Monolog 日志与 New Relic 平台进行集成的 PHP 项目。它不仅解决了我的实际问题,还为未来的项目提供了坚实的基础。

以上就是如何解决PHP日志与NewRelic集成问题?使用marketredesign/newrelic-monolog-enricher可以!的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号