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' }
除了每次发布后的日志外,其他所有方法都工作正常。我正在收到以前发送的旧日志。示例:
也许我错过了某些配置?
答案 0 :(得分:0)
deduplication
处理程序类型的MonologBundle配置具有其他潜在参数-包括
store
:应保留重复数据删除日志的文件/路径,默认为%kernel.cache_dir%/ monolog_dedup _ *
它正在重新部署之前从缓存目录中读取的文件。
我还使用Capistrano部署了我的站点-但我不在站点的不同部署之间共享缓存目录。我的共享文件配置为set :linked_dirs, [fetch(:log_path)]
-仅共享日志以长期保持更新。缓存目录仍位于./var/cache中,但它是在每个部署中新创建的。