2016-10-11 5 views
-1

私はサービスとしてコンソールコマンドを持っています。 私は、コマンドがfoo.logというログファイルで実行されたことを記録したいと思います。コンソールコマンド:データを特定のファイルにログする(Symfony3とモノログ)

私はほとんどそれを行っているが、:場合

、私は私が得る、ケース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} 

場合(config.yml) - 私は

monolog: 
    handlers: 
     sender: 
      type:  stream 
      path:  '%kernel.logs_dir%/foo.log' 
      channels: ~ 

をfoo.logするすべてのログを取得ケースB(config.yml)画面上の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"} [] 
(...) 

答えて

0

私はあなただけdocumentationであなたの冗長レベル

参照をレベルダウンする必要があると考えている:

# app/config/config.yml 

monolog: 
    handlers: 
     console: 
      type: console 
      verbosity_levels: 
       VERBOSITY_NORMAL: NOTICE 
      channels: sender 
+0

はあなたのためのuに感謝私は他のハンドラを見るべきだと私に示した。これらのログを別のファイルに保存する新しいハンドラを作成しました。 – Anna

関連する問題