Oh, if the logging does not work because classes go lost, I'd rather want the programm to terminate :)
But thanks anyway, the event handling does not sound uninteresting, maybe I can use it for something else somewhen. bye, -christian- On Fri, 26 Feb 2010 13:42:08 +0100 Daniel Lohse <annismcken...@googlemail.com> wrote: > It's longer perhaps but more elegant? You betcha! It doesn't create a new > dependency in your code because your logger could also *not* be there and the > code would still work. > > Cheers, Daniel > > On 26.02.2010, at 12:57, Christian Hammers wrote: > > > Hello > > > > So instead of $logger->info() I should write something like this? > > > > $this->getEventDispatcher()->notify(new sfEvent($this, 'blah.log', > > array('loglevel'=>'info', 'msg'=>'hello world')); > > > > Well, that would not exactly be more elegant than: > > > > $logger = BlahLogger::getInstance()->info("hello world"); > > > > bye, > > > > -christian- > > > > > > On Thu, 25 Feb 2010 10:21:00 -0800 (PST) > > Richtermeister <nex...@gmail.com> wrote: > > > >> Hey Chris, > >> > >> you don't need to interact with this logger directly. It just sits > >> there and listens for your custom logging events. > >> The dispatcher is what you need to worry about, since that's used to > >> dispatch the events in the first place. You'll find that the > >> dispatcher is more available throughout the application than the > >> logger is, so stick with events to trigger logging. > >> > >> Daniel > >> > >> > >> On Feb 25, 9:21 am, Christian Hammers <c...@lathspell.de> wrote: > >>> Hello > >>> > >>> But how do I get an instance of this class? > >>> > >>> Or maybe we have a misunderstanding: I do not want > >>> $this->getLogger()->info() > >>> to log into the default logfile as well as into my custom logfile. I want > >>> separate logfile just for special notes which should also not appear in > >>> the regular log files. > >>> > >>> bye, > >>> > >>> -christian- > >>> > >>> On Wed, 24 Feb 2010 09:25:45 -0800 (PST) > >>> > >>> Richtermeister <nex...@gmail.com> wrote: > >>>> Hey Christian, > >>> > >>>> it's simpler than that. > >>>> Look in your factories.yml at the bottom where the loggers are being > >>>> set up. > >>>> The main logger is an aggregate logger, and you can add your logger to > >>>> this like so: > >>> > >>>> (under loggers) > >>>> my_logger: > >>>> class: BlahLogger > >>>> param: > >>>> level: whateverlevel > >>>> file: path_to_file > >>> > >>>> That starts this logger automatically, and since it only listens to > >>>> your specialized events, it shouldn't get into the way.. > >>> > >>>> Daniel > >>> > >>>> On Feb 24, 4:59 am, Christian Hammers <c...@lathspell.de> wrote: > >>>>> Hello > >>> > >>>>> Thanks for this hint! > >>> > >>>>> I could not figure out how to use the factory.yml without interfering > >>>>> with the standard logger as you apparently can't create arbitrary > >>>>> objects with it. > >>> > >>>>> But after adding the following function: > >>>>> class BlahLogger { > >>>>> public static function getInstance() { > >>>>> return new NcLogger( > >>>>> sfContext::getInstance()->getEventDispatcher(), > >>>>> array('level'=>'debug', 'file'=> > >>>>> sfConfig::get('sf_log_dir').'/nc.log')); > >>>>> } > >>>>> ... your initialize() ... > >>>>> } > >>> > >>>>> I can now use it like this: > >>>>> $logger = BlahLogger::getInstance(); > >>>>> $logger->info("hello world"); > >>> > >>>>> bye, > >>> > >>>>> -christian- > >>> > >>>>> On Tue, 23 Feb 2010 21:22:00 -0800 (PST) > >>> > >>>>> Richtermeister <nex...@gmail.com> wrote: > >>>>>> Hey Christian, > >>> > >>>>>> yeah, I've had some trouble with that as well, but I think I found a > >>>>>> good solution. > >>>>>> First, I continue to use the regular event system to send log events, > >>>>>> but I send events of type "blah.log" instead of "application.log". > >>>>>> Now, to catch those you have to implement a custom logger like so: > >>> > >>>>>> class BlahLogger extends sfFileLogger > >>>>>> { > >>>>>> public function initialize(sfEventDispatcher $dispatcher, $options = > >>>>>> array()) > >>>>>> { > >>>>>> parent::initialize($dispatcher, $options); > >>>>>> $dispatcher -> disconnect('application.log', array($this, > >>>>>> 'listenToLogEvent')); > >>>>>> $dispatcher -> connect('blah.log', array($this, > >>>>>> 'listenToLogEvent')); > >>>>>> } > >>>>>> } > >>> > >>>>>> You can then instantiate this logger anywhere (either by adding it to > >>>>>> your factories.yml file, or instantiating it directly.) > >>> > >>>>>> Hope this helps. > >>> > >>>>>> Daniel > >>> > >>>>>> On Feb 23, 9:14 am, Christian Hammers <c...@lathspell.de> wrote: > >>>>>>> Hello > >>> > >>>>>>> Is it possible to define a custom sfFileLogger() in factories.yml > >>>>>>> that works > >>>>>>> completely independend from the standard frontend.log? It should be > >>>>>>> accessed > >>>>>>> like e.g. sfContext::getLogger("myAppLog")->info("remember that"); > >>>>>>> Just that getLogger() does not take an argument and I'm probably > >>>>>>> trying it > >>>>>>> the completely wrong way again :) > >>> > >>>>>>> bye, > >>> > >>>>>>> -christian- > >> > > > > -- > > If you want to report a vulnerability issue on symfony, please send it to > > security at symfony-project.com > > > > You received this message because you are subscribed to the Google > > Groups "symfony users" group. > > To post to this group, send email to symfony-users@googlegroups.com > > To unsubscribe from this group, send email to > > symfony-users+unsubscr...@googlegroups.com > > For more options, visit this group at > > http://groups.google.com/group/symfony-users?hl=en > -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en