> From: Stephan Herrmann 
> Hi Tom,
> 
> Thanks for your comprehensive answer.
> Yes, we can easily agree that SynchronousLogListener is dangerous :)
> 
> More questions inline ...
> 
> 
> Sounds promising, but ...
> 
> >  But be aware that nobody is going to see your logs until there is
> a org.osgi.service.log.LogService registered to
> > listen to your logs.
> 
> ... is that s.t. I have to register? How?
> Can I hook this up so that all entries do (eventually) appear in the
> Errors view and perhaps the persistent log file?

I did not mean LogService there.  I meant 
org.osgi.service.log.LogListener.  You would have to register a 
LogListener with the LogReaderService using the method:

org.osgi.service.log.LogReaderService.addLogListener(LogListener)

This would be a bit tricky, this listener would get LogEntry events 
asynchronously.  It could then turn around and call the Equinox Logger for 
the with the name "org.eclipse.equinox.logger" to force it into the 
persistent log (which shows up in the log view.

> 
> > The one exception to this rule is when the LogEntry is of type 
> ERROR, in that case the log will be sent to the
> > persistent eclipse log file BUT it WILL NOT be sent to the 
> listeners registered with the org.eclipse.core.runtime.ILog.
> >
> > I'm unsure what you are trying to log, but if it is simply ERRORs 
> then I would use the standard org.osgi.service.log.LogService
> 
> I'm using it for all kinds of things. The particular dangerous case 
> was logging
> profiling data at level INFO.
> 
> 

Then I suggest you use your own logger name and use it to call 
org.eclipse.equinox.log.ExtendedLogService.getLogger(String) and use the 
Logger to log all your messages.  Then register a LogListener with the 
method 
org.eclipse.equinox.log.ExtendedLogReaderService.addLogListener(LogListener, 
LogFilter) with a filter that returns true only when the loggerName equals 
your logger name.  This LogListener would then turn around and call the 
Logger with the name "org.eclipse.equinox.logger" to post the messages to 
the persistent log.  Note this will also send the log to the pesky 
synchronous ILog listeners, but now we are on a separate thread.

Tom


_______________________________________________
equinox-dev mailing list
equinox-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to