2015-06-15 71 views
1

我已閱讀了一些文檔here,但仍不清楚如何編寫和使用自定義Monolog處理程序和通道。讓我稍微解釋一下我想達到的目標。我有一個自定義函數,我希望該日誌被記錄到一個名爲custom.log的文件中。如何編寫和使用Monolog處理程序和通道

monolog: 
    handlers: 
     #Logs Doctrine to a different channel 
     doctrine: 
      level: debug 
      type:  stream 
      path:  "%kernel.logs_dir%/doctrine.log" 
      channels: [doctrine] 

如何實現一個custom.log相同的:我已經在config.yml文件中設置啓用此功能主義日誌記錄到另一個文件?

回答

3

你可以嘗試這種方式,

monolog: 
    channels: ["testchannel"] 
    handlers: 
     test: 
      # log all messages (since debug is the lowest level) 
      level: debug 
      type:  stream 
      path:  "%kernel.logs_dir%/testchannel.log" 
      channels: ["testchannel"] 

並在控制器,你可以得到記錄器和做你的事;

class DefaultController extends Controller 
{ 
    public function indexAction() 
    { 

     $logger = $this->get('monolog.logger.testchannel'); 
     $logger->info("This one goes to test channel!!"); 
     return $this->render('AcmeBundle:Default:index.html.twig'); 
    } 
} 

你也可以檢查哪些獨白處理程序和記錄儀運行命令php app/console container:debug monolog

註冊
相關問題