【问题标题】:log4php logger's additivitylog4php 记录器的可加性
【发布时间】:2013-11-15 23:51:07
【问题描述】:

log4php configuration documentation 中,有一个名为“additivity”的配置选项可以停止从根记录器继承。

但是,我添加到 PHP 格式的配置文件中,root logger 仍在记录应该出现在 logger queryLogger 中的条目:

<?php
return array(
    'rootLogger' => array(
        'level' => 'DEBUG',
        'appenders' => array('fileAppender'),
    ),
    'loggers' => array(
        'queryLogger' => array(
            'level' => 'INFO',
            'appenders' => array('queryFileAppender')
        )
    ),
    'appenders' => array(
        'fileAppender' => array(
            'class' => 'LoggerAppenderDailyFile',
            'layout' => array(
                'class' => 'LoggerLayoutPattern',
                'params' => array(
                    'conversionPattern' => '%d{Y-m-d H:i:s.u} [%-5p] %-100m ---------- [%F:%L]%n'
                )
            ),
            'params' => array(
                'datePattern' => 'Y-m-d',
                'file' => LOG_PATH . 'system-%s.log',
            ),
        ),
        'queryFileAppender' => array(
            'class' => 'LoggerAppenderDailyFile',
            'layout' => array(
                'class' => 'LoggerLayoutPattern',
                'params' => array(
                    'conversionPattern' => '%d{Y-m-d H:i:s.u} %m%n'
                )
            ),
            'params' => array(
                'datePattern' => 'Y-m-d',
                'file' => LOG_PATH . 'query-%s.log',
            ),
        ),
    ),
    'additivity' => array(
        'fileAppender' => false,
    ),
);
?>

我的目标是只登录queryLogger,而不是rootLogger。我错过了什么?

【问题讨论】:

    标签: php logging log4php


    【解决方案1】:

    这可能没有很好的记录,因为除了 INI 方式的过时示例(已弃用)之外,没有关于如何配置可加性的真实示例。

    但是查看https://logging.apache.org/log4php/docs/loggers.html 的 XML 示例(子章节“禁用附加程序可加性”)显示可加性是记录器本身的设置 - 它不是独立存在的(INI 配置事物的方式让您这么认为)。

    通过查看LoggerConfiguratorDefault::configureLogger 中的代码,很明显additivity 是与单个记录器配置中的levelappenders 平行的子键。

    所以这应该有效:

    // ...
    'loggers' => array(
        'queryLogger' => array(
            'level' => 'INFO',
            'appenders' => array('queryFileAppender'),
            'additivity' => false
        )
    ),    //...
    

    【讨论】:

      猜你喜欢
      • 2013-06-11
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      相关资源
      最近更新 更多