You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2009/10/15 16:55:09 UTC
svn commit: r825509 -
/directory/studio/trunk/apacheds/src/main/java/org/apache/directory/studio/apacheds/StudioConsoleAppender.java
Author: pamarcelot
Date: Thu Oct 15 14:55:09 2009
New Revision: 825509
URL: http://svn.apache.org/viewvc?rev=825509&view=rev
Log:
DIRSTUDIO-569 ( Exceptions showing up in the log when starting a server in the Apache DS plugin).
Modified:
directory/studio/trunk/apacheds/src/main/java/org/apache/directory/studio/apacheds/StudioConsoleAppender.java
Modified: directory/studio/trunk/apacheds/src/main/java/org/apache/directory/studio/apacheds/StudioConsoleAppender.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds/src/main/java/org/apache/directory/studio/apacheds/StudioConsoleAppender.java?rev=825509&r1=825508&r2=825509&view=diff
==============================================================================
--- directory/studio/trunk/apacheds/src/main/java/org/apache/directory/studio/apacheds/StudioConsoleAppender.java (original)
+++ directory/studio/trunk/apacheds/src/main/java/org/apache/directory/studio/apacheds/StudioConsoleAppender.java Thu Oct 15 14:55:09 2009
@@ -81,35 +81,44 @@
*/
protected void append( LoggingEvent event )
{
- LogMessageConsole console = ConsolesHandler.getDefault().getLogMessageConsole( serverId );
- if ( console != null )
- {
- // Formatting the message with the layout
- String message = layout.format( event );
+ final LoggingEvent logEvent = event;
- // Switching dependening on the level
- Level level = event.getLevel();
- if ( level == Level.INFO )
- {
- console.getInfoConsoleMessageStream().print( message );
- }
- else if ( level == Level.DEBUG )
- {
- console.getDebugConsoleMessageStream().print( message );
- }
- else if ( level == Level.WARN )
- {
- console.getWarnConsoleMessageStream().print( message );
- }
- else if ( level == Level.ERROR )
- {
- console.getErrorConsoleMessageStream().print( message );
- }
- else if ( level == Level.FATAL )
+ // We need to print the message on console asynchronously to avoid UI thread exception
+ Display.getDefault().asyncExec( new Runnable()
+ {
+ public void run()
{
- console.getFatalConsoleMessageStream().print( message );
+ LogMessageConsole console = ConsolesHandler.getDefault().getLogMessageConsole( serverId );
+ if ( console != null )
+ {
+ // Formatting the message with the layout
+ String message = layout.format( logEvent );
+
+ // Switching dependening on the level
+ Level level = logEvent.getLevel();
+ if ( level == Level.INFO )
+ {
+ console.getInfoConsoleMessageStream().print( message );
+ }
+ else if ( level == Level.DEBUG )
+ {
+ console.getDebugConsoleMessageStream().print( message );
+ }
+ else if ( level == Level.WARN )
+ {
+ console.getWarnConsoleMessageStream().print( message );
+ }
+ else if ( level == Level.ERROR )
+ {
+ console.getErrorConsoleMessageStream().print( message );
+ }
+ else if ( level == Level.FATAL )
+ {
+ console.getFatalConsoleMessageStream().print( message );
+ }
+ }
}
- }
+ } );
}