【问题标题】:Multiple log files in symfonysymfony 中的多个日志文件
【发布时间】:2010-12-28 02:09:40
【问题描述】:

我想在 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

【问题讨论】:

    标签: logging symfony1 symfony-1.4


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这里重要的是创建一个新的 Envent 调度器实例。如果您引用控制器的默认事件调度程序,您的所有日志都将进入您的自定义日志文件。
      【解决方案3】:
      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
      

      【讨论】:

        猜你喜欢
        • 2019-05-01
        • 1970-01-01
        • 2012-04-20
        • 2015-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-07
        • 1970-01-01
        相关资源
        最近更新 更多