0
我已經定義了一個服務來處理具有特定文本(例如「匹配的路由」等)的記錄日誌記錄。我成功地將這些記錄寫入一個單獨的文件。Symfony 2 - 不要將日誌記錄傳遞給下一個處理程序
但是,我想要避免的是將它們第二次寫入主日誌文件。我嘗試用一個頻道標記我的服務,並告訴主流日誌忽略該頻道,但在我看來,它不起作用,因爲本質上,主流日誌處理程序匹配的全部內容。
有關如何進行的任何建議?
編輯:這就是我目前所面對的:
monolog:
channels: ['noise']
handlers:
eliminate_noise_logger:
type: service
id: common.eliminate_noise_logger
channels: ['noise']
streamed:
type: stream
level: info
path: "%kernel.logs_dir%/%kernel.environment%.log"
formatter: monolog.formatter.session_request
channels: ['!noise']
console:
type: console
verbosity_levels:
VERBOSITY_NORMAL: INFO
我的服務定義:
common.eliminate_noise_logger:
class: path\to\class
arguments: ["%kernel.logs_dir%/%kernel.environment%.noise.log", ["str1", "str2", "str3"]]
tags:
- { name: monolog.logger, channel: noise }
@CarlAnderson難道它解決了你問題? – OlivierC
我給了它一個去,它不起作用 - 有可能我有其他的東西是相互衝突的。我無法確切記得結果是什麼,但我知道主日誌文件繼續得到我想要的東西被濾除。 –
你有沒有嘗試第二個處理程序名爲secondary(而不是secondary_channel)?這是我剛剛看到的錯字複習我的答案 – OlivierC