What Daniel said..

Plus, for convenience you can always create a "local" log method on
whatever object you're logging from that wraps the calls to the event-
dispatcher. Then you have elegant and short.

Daniel


On Feb 26, 5:34 am, Christian Hammers <c...@lathspell.de> wrote:
> 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

Reply via email to