final CaptionLayoutPanel messagePanel = new CaptionLayoutPanel("Messages");
messagePanel.setPadding(0);
// log panel
// manually, otherwise it will appear on the login screen
WorkspaceLogger logger = new WorkspaceLogger(
new WorkspaceLogger.ThresholdNotification()
{
public void onLogLevel(int level)
{
// open the log panel on errors
if(level >= Log.LOG_LEVEL_ERROR)
{
DeferredCommand.addCommand(
new Command()
{
public void execute()
{
parent.setCollapsed(messagePanel, false);
parent.invalidate();
parent.layout();
}
}
);
}
}
}
);
Widget widget = logger.getWidget();
widget.setVisible(true);
Log.addLogger(logger);
messagePanel.add(widget);