2012-11-16 107 views
1

當運行具有生產設置的應用程序並且禁用調試禁用monolog時不會啓動。 啓用調試後,它照常開始。無論調試選項如何,開發設置都會啓動。獨奏沒有在symfony2下的產品設置上啓動

如何在禁用調試的情況下強制monolog在生產設置上運行?

開發和生產的configs是一樣的:

monolog: 
    handlers: 

    main: 
     type: stream 
     path: %kernel.logs_dir%/%kernel.environment%.log 
     level: debug 
    firephp: 
     type: firephp 
     level: info 
    custom: 
     type: service 
     id:  monitoring.errbit 
     level: critical 

在開發設置獨白完美運行,對生產它甚至不啓動。

+1

你怎麼知道它不啓動?你爲什麼認爲它應該開始? – hakre

+0

首先它沒有捕獲觸發的錯誤。所以我加了die()給handler的構造函數。當我設置開發環境時,我可以看到它正在運行。 – S3Mi

+0

我假設你錯過了然後死亡。你爲什麼認爲它應該開始? – hakre

回答

1

默認的Symfony2配置包含不同的config_prod和config_dev處理程序。如果你把它放在config.yml中,你應該確保你刪除了config_prod.yml中的monolog配置塊,否則它會覆蓋config.yml中的一個。

除此之外,就monolog而言,prod和dev之間確實沒有區別,除非您在內核中更改了僅在dev/test中啓用的包,但這不是默認值。

相關問題