独白发送旧日志

时间:2018-09-06 09:23:04

标签: symfony capistrano monolog symfony-flex

W具有使用symfony-flex构建的Web应用程序。对于部署,我正在使用capistrano。为了记录重要日志,我以这种方式配置了monolog:

monolog:
    handlers:
        main:
            type: fingers_crossed
            action_level: error
            channels: ['!translation']
            excluded_http_codes: [{ 404: ['^/security/login'] }]
            handler: grouped
        grouped:
            type: group
            members: [deduplicated]
        deduplicated:
            type:    deduplication
            handler: swift
        swift:
            type:       swift_mailer
            from_email: '%mailer_user%'
            to_email:   ['email1@gmail.com', 'email2@gmail.com']
            subject:    " %%level_name%% %%level%%"
            level:      info
            formatter:  monolog.formatter.html
            content_type: text/html

SwiftMailer配置:

swiftmailer:
    url: '%env(MAILER_URL)%'
    spool: { type: 'memory' }

除了每次发布后的日志外,其他所有方法都工作正常。我正在收到以前发送的旧日志。示例:

screenshot

也许我错过了某些配置?

1 个答案:

答案 0 :(得分:0)

deduplication处理程序类型的MonologBu​​ndle配置具有其他潜在参数-包括

  

store:应保留重复数据删除日志的文件/路径,默认为%kernel.cache_dir%/ monolog_dedup _ *

它正在重新部署之前从缓存目录中读取的文件。

我还使用Capistrano部署了我的站点-但我在站点的不同部署之间共享缓存目录。我的共享文件配置为set :linked_dirs, [fetch(:log_path)]-仅共享日志以长期保持更新。缓存目录仍位于./var/cache中,但它是在每个部署中新创建的。