symfony中有多个日志文件

时间:2009-12-18 15:48:18

标签: logging symfony1 symfony-1.4

我想在symfony中设置一个额外的日志文件,这样一些消息(在我的情况下是支付处理)会转到与symfony其余部分不同的文件。有可能吗?

这是我factories.yml的当前日志配置:

all:
  logger:
    param:
      level: debug
      loggers:
        sf_file_debug:
          param:
            level: notice
            file: /var/log/symfony/%SF_ENVIRONMENT%/%SF_APP%.log

3 个答案:

答案 0 :(得分:11)

daviweb的解决方案会将消息记录到两个日志文件中,

可以使用代码创建新的单独记录器:

$logPath = sfConfig::get('sf_log_dir').'/your-custom.log';
$custom_logger = new sfFileLogger(new sfEventDispatcher(), array('file' => $logPath));

$custom_logger->info("My log message!");

答案 1 :(得分:1)

all:
  logger:
    class:   sfAggregateLogger
    param:
      level:   debug
      loggers:
        sf_file_debug:
          class: sfFileLogger
          param:
            level: debug
            file: %SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%.log
        sf_file_debug_additional:
          class: sfFileLogger
          param:
            level: debug
            file: %SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%_additional.log

答案 2 :(得分:0)

检查插件:sfAdvancedLoggerPlugin。你可以用它做很多日志记录。

  

sfAdvancedLogger允许PHP错误等高级日志记录功能   记录,电子邮件警报和条件记录