-1
我有一個控制檯命令作爲服務。 我想記錄下,該命令是在一個名爲foo.log的日誌文件中執行的 - 並且沒有其他日誌放在那裏。控制檯命令:將數據記錄到specific文件(Symfony3和monolog)
我幾乎做到了,但是:
在情況A,我得到的所有日誌,以我的specyfic文件(不僅是一個我想)在情況B
,我得到我的specyfic日誌到foo.log文件,但是當運行CONSOL命令時,我在控制檯屏幕上獲得了其他日誌。
命令文件
class A extends command
{
(...)
protected function execute(InputInterface $input, OutputInterface $output)
{
(...)
$this->logger->info('done it');
}
}
services.yml
sender.command.fetch.and.send:
class: ReportsBundle\Command\SendReports
arguments:
- "@sender.reports.worker"
- "@logger"
tags:
- { name: console.command }
- { name: monolog.logger, channel: sender}
情況A(config.yml) - 當我得到的所有日誌foo.log
monolog:
handlers:
sender:
type: stream
path: '%kernel.logs_dir%/foo.log'
channels: ~
情況B(config.yml)當我得到unwante屏幕d日誌
monolog:
channels: ['sender']
handlers:
sender:
type: stream
path: '%kernel.logs_dir%/foo.log'
channels: sender
不必要的日誌:
(...)
[2016-10-11 20:48:28] doctrine.DEBUG: SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED [] []
[2016-10-11 20:48:28] doctrine.DEBUG: [] []
[2016-10-11 20:48:28] event.DEBUG: Notified event "{event}" to listener "{listener}". {"event":"console.exception","listener":"Staffim\\RollbarBundle\\EventListener\\RollbarListener::onConsoleException"} []
(...)
感謝ü爲您答覆..它告訴我,我應該看看其他處理程序。我創建了新的處理程序,將這些日誌放到不同的文件中。 – Anna