dulyanov / log4php-graylog2
Log4php 后缀和布局,用于与 Graylog2 兼容
1.0.4
2016-01-27 14:43 UTC
Requires
- php: >=5.2.7
- apache/log4php: >=2.3.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-28 12:39:33 UTC
README
===== 关于
版权(c)2012-2016 德米特里·乌利扬诺夫
在这里您可以找到 2 个新的 Log4php 后缀:LoggerAppenderAMQP 和 LoggerAppenderGraylog2。您可以使用它将日志消息传递给 Graylog2 或 AMQP(例如 RabbitMQ)。
后缀 LoggerAppenderGraylog2 可以直接将消息传递给 Graylog2 服务器。后缀 LoggerAppenderAMQP 可以将消息传递给 AMQP 服务器。在这种情况下,您可以设置您的 graylog2 以接收来自 AMQP 的消息。
如果您想以 GELF 格式传递消息,请使用特殊的布局:LoggerLayoutGelf
============ 安装
对于 composer 用户
- 将其添加到您的 composer.json 中
{ "require": { "dulyanov/log4php-graylog2": "~1.0" }, "repositories": [ { "type": "vcs", "url": "https://github.com/d-ulyanov/log4php-graylog2.git" } ] }
- 运行 composer.phar update
对于其他用户
- 设置您的 log4php 配置文件(请参阅 exampleConfig.xml)
- 使用您的新记录器
require 'log4php/Logger.php'; require 'log4php-graylog2/src/main/php/bootstrap.php';
============= 配置
XML
<configuration xmlns="https://logging.apache.ac.cn/log4php/"> <appender name="MyAMQPAppender" class="LoggerAppenderAMQP"> <param name="host" value="example.com" /> <param name="port" value="5672" /> <param name="vhost" value="/logs" /> <param name="login" value="my_login" /> <param name="password" value="my_secret_password" /> <param name="exchangeName" value="my_exchange" /> <param name="routingKey" value="php_application" /> <param name="contentType" value="application/json" /> <layout class="LoggerLayoutGelf" /> </appender> <appender name="MyGraylog2Appender" class="LoggerAppenderGraylog2"> <param name="host" value="192.168.1.123" /> <param name="port" value="12201" /> <layout class="LoggerLayoutGelf" /> </appender> <root> <level value="DEBUG" /> <appender_ref ref="MyAMQPAppender" /> <appender_ref ref="MyGraylog2Appender" /> </root> </configuration>
PHP
array( 'rootLogger' => array( 'appenders' => array('MyAMQPAppender', 'MyGraylog2Appender') ), 'appenders' => array( 'MyAMQPAppender' => array( 'class' => 'LoggerAppenderAMQP', 'params' => array( 'host' => 'example.com', 'port' => 5672, 'vhost' => '/logs', 'login' => 'my_login', 'password' => 'my_secret_password', 'exchangeName' => 'my_exchange', 'routingKey' => 'php_application', 'contentType' => 'application/json' ), 'layout' => array( 'class' => 'LoggerLayoutGelf' ) ), 'MyGraylog2Appender' => array( 'class' => 'LoggerAppenderGraylog2', 'params' => array( 'host' => '192.168.1.123', 'port' => 12201 ), 'layout' => array( 'class' => 'LoggerLayoutGelf' ) ), ), );
===== 使用
Logger::configure('exampleConfig.xml', 'LoggerConfigurationAdapterXML'); $myLogger = Logger::getLogger('MyLogger'); $myLogger->debug("Hello world!");