कि ContainerAwareCommand
फैली हुई है, Symfony की सेवा कंटेनर की पहुंच है किसी भी कस्टम आदेश। आप अपनी कॉन्फ़िगरेशन में कस्टम चैनल में लॉग इन करने वाली सेवा को परिभाषित कर सकते हैं।
<services>
<service id="console.logger" parent="monolog.logger_prototype">
<argument index="0">mychannel</argument>
</service>
</services>
आप निम्नलिखित तरीके
$logger = $this->getContainer()->get('console.logger');
यह लकड़हारा "mychannel" के रूप में चैनल के साथ प्रवेश करेंगे आदेश से अपनी सेवा का उपयोग कर सकते हैं।
FYI डिफ़ॉल्ट लॉगर सेवा चैनल "ऐप" पर लॉग इन करता है। इसे फ़ाइल Symfony/Bundle/MonologBundle/Resources/config/monolog.xml
में देखा जा सकता है। यह वह जगह भी है जहां डिफ़ॉल्ट logger
सेवा परिभाषित की गई है।
<services>
<service id="monolog.logger" parent="monolog.logger_prototype" public="false">
<argument index="0">app</argument>
</service>
<service id="logger" alias="monolog.logger" />
<service id="monolog.logger_prototype" class="%monolog.logger.class%" abstract="true">
<argument /><!-- Channel -->
</service>
</services>
स्रोत
2013-01-23 06:26:58
मैं यह जानना चाहता हूं कि यह कैसे करें – HappyDeveloper
उत्तर में http://stackoverflow.com/questions/8169114/how-to-write-logs-from-one-service-into-separate-file/8210892#8210892 – Seldaek
धन्यवाद, मैंने इस लिंक के साथ अपने प्रश्न का उत्तर दिया। – Reuven