wikimart/log4php-graylog2

与 graylog2 兼容的 log4php 追踪器和布局

1.0.3 2015-04-09 17:11 UTC

This package is not auto-updated.

Last update: 2024-09-23 12:02:53 UTC


README

===== 关于

版权所有 (c) 2012-2014 Dmitriy Ulyanov

在这里您可以找到两个新的 log4php 追踪器扩展:LoggerAppenderAMQP 和 LoggerAppenderGraylog2。您可以使用它将日志消息传递给 Graylog2 或 AMQP(例如 RabbitMQ)。

LoggerAppenderGraylog2 追踪器可以直接将消息传递给 Graylog2 服务器。LoggerAppenderAMQP 追踪器可以将消息传递给 AMQP 服务器。在这种情况下,您可以设置您的 graylog2 以从 AMQP 接收消息。

如果您想以 GELF 格式传递消息,请使用特殊布局:LoggerLayoutGelf

============ 安装

对于 composer 用户

  1. 添加到您的 composer.json
    {
        "require": {
            "wikimart/log4php-graylog2": ">=1.0.0"
        },
        "repositories": [
            {
                "type": "git",
                "url": "git://github.com/wikimart/log4php-graylog2.git"
            }
        ]
    }
  1. 运行 composer.phar update

对于其他用户

  1. 设置您的 log4php 配置文件(请参阅 exampleConfig.xml)
  2. 使用您的新日志记录器

require 'log4php/Logger.php';
require 'log4php-graylog2/src/main/php/bootstrap.php';

============= 配置

XML

        
            
                
                
                
                
                
                
                
                
                
            
            
                
                
                
            
            
                
                
                
            
        

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!");