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