我们有web-app,用symfony-flex构建。对于部署,我使用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/htmlSwiftMailer配置:
swiftmailer:
url: '%env(MAILER_URL)%'
spool: { type: 'memory' }在每次发布后,除了日志之外,所有的工作都很好。我正在获取以前发送过的旧日志。示例:

也许我在配置中遗漏了什么?
发布于 2019-09-14 07:48:50
deduplication处理程序类型的MonologBundle配置具有额外的潜在参数-包括
store:应保存重复数据删除日志的文件/路径,默认为%kernel.cache_dir%/monolog_dedup_*
它正在重新读取部署之前缓存目录中的文件。
我也使用Capistrano部署我的站点--但是我不会,而不是在我的站点的不同部署之间共享缓存目录。我对共享文件的配置是set :linked_dirs, [fetch(:log_path)] -只共享日志,以便长期更新它们。缓存目录仍然在./var/cache中,但它是在每次部署时新创建的。
https://stackoverflow.com/questions/52200810
复制相似问题