Buggy code:
public class LogUI extends JFrame implements ChainsawViewer , SettingsListener { private static final String CONFIG_FILE_TO_USE = "config.file" ; static final String USE_CYCLIC_BUFFER_PROP_NAME = "chainsaw.usecyclicbuffer" ; static final String CYCLIC_BUFFER_SIZE_PROP_NAME = "chainsaw.cyclicbuffersize" ; private static final String MAIN_WINDOW_HEIGHT = "main.window.height" ; private static final String MAIN_WINDOW_WIDTH = "main.window.width" ; private static final String MAIN_WINDOW_Y = "main.window.y" ; private static final String MAIN_WINDOW_X = "main.window.x" ; static final String TABLE_COLUMN_ORDER = "table.columns.order" ; static final String TABLE_COLUMN_WIDTHS = "table.columns.widths" ; static final String COLUMNS_EXTENSION = ".columns" ; static final String COLORS_EXTENSION = ".colors" ; private final JFrame preferencesFrame = new JFrame ( ) ; private static ChainsawSplash splash ; private URL configURLToUse ; private boolean noReceiversDefined ; private ReceiversPanel receiversPanel ; private ChainsawTabbedPane tabbedPane ; private JToolBar toolbar ; private ChainsawStatusBar statusBar ; private final ApplicationPreferenceModel applicationPreferenceModel = new ApplicationPreferenceModel ( ) ; private final ApplicationPreferenceModelPanel applicationPreferenceModelPanel = new ApplicationPreferenceModelPanel ( applicationPreferenceModel ) ; private final Map tableModelMap = new HashMap ( ) ; private final Map tableMap = new HashMap ( ) ; private final List filterableColumns = new ArrayList ( ) ; private final Map panelMap = new HashMap ( ) ; ChainsawAppenderHandler handler ; private ChainsawToolBarAndMenus tbms ; private ChainsawAbout aboutBox ; private final SettingsManager sm = SettingsManager . getInstance ( ) ; private final JFrame tutorialFrame = new JFrame ( "Chainsaw<seq2seq4repair_space>Tutorial" ) ; private boolean isGUIFullyInitialized = false ; private Object initializationLock = new Object ( ) ; private Action shutdownAction = new AbstractAction ( ) { public void actionPerformed ( ActionEvent e ) { } } ; private EventListenerList shutdownListenerList = new EventListenerList ( ) ; private WelcomePanel welcomePanel ; public LogUI ( ) { } private static final void showSplash ( Frame owner ) { } private static final void removeSplash ( ) { } public void addShutdownListener ( ShutdownListener l ) { } public void removeShutdownListener ( ShutdownListener l ) { } public static void main ( String [ ] args ) { } public static void createChainsawGUI ( ApplicationPreferenceModel model , Action shutdownAction ) { } public void activateViewer ( ChainsawAppender appender ) { ApplicationPreferenceModel model = new ApplicationPreferenceModel ( ) ; SettingsManager . getInstance ( ) . configure ( model ) ; LogUI . applyLookAndFeel ( model . getLookAndFeelClassName ( ) ) ; handler = new ChainsawAppenderHandler ( appender ) ; handler . addEventBatchListener ( new LogUI . NewTabEventBatchReceiver ( ) ) ; <START_BUG> LogManager . getRootLogger ( ) . addAppender ( handler ) ; <END_BUG> setShutdownAction ( new AbstractAction ( ) { public void actionPerformed ( ActionEvent e ) { } } ) ; activateViewer ( ) ; getApplicationPreferenceModel ( ) . apply ( model ) ; } private void initGUI ( ) { } private void initPlugins ( ) { } private void setupReceiverPanel ( ) { } private void setupHelpSystem ( ) { } public void loadSettings ( LoadSettingsEvent event ) { } public void saveSettings ( SaveSettingsEvent event ) { } public void activateViewer ( ) { } private void initSocketConnectionListener ( ) { } private void initPrefModelListeners ( ) { } private void showNoReceiversWarningPanel ( ) { } void exit ( ) { } void addWelcomePanel ( ) { } void removeWelcomePanel ( ) { } boolean isReceiverPanelVisible ( ) { } ChainsawStatusBar getStatusBar ( ) { } void showApplicationPreferences ( ) { } void showAboutBox ( ) { } Map getPanels ( ) { } void displayPanel ( String panelName , boolean display ) { } private void shutdown ( ) { } private void fireShutdownEvent ( ) { } public final void setShutdownAction ( Action shutdownAction ) { } private void performShutdownAction ( ) { } LogPanel getCurrentLogPanel ( ) { } private void setStatusBarVisible ( final boolean visible ) { } boolean isStatusBarVisible ( ) { } public String getActiveTabName ( ) { } private static void applyLookAndFeel ( String lookAndFeelClassName ) { } public void showHelp ( URL url ) { } private WelcomePanel getWelcomePanel ( ) { } public boolean isLogTreePanelVisible ( ) { } public String getInterestedIdentifier ( ) { } public Map getPanelMap ( ) { } public SettingsManager getSettingsManager ( ) { } public List getFilterableColumns ( ) { } public void setToolBarAndMenus ( ChainsawToolBarAndMenus tbms ) { } public ChainsawToolBarAndMenus getToolBarAndMenus ( ) { } public Map getTableMap ( ) { } public Map getTableModelMap ( ) { } public void setTabbedPane ( ChainsawTabbedPane tabbedPane ) { } public ChainsawTabbedPane getTabbedPane ( ) { } public void setupTutorial ( ) { } private class NewTabEventBatchReceiver implements EventBatchListener { public void receiveEventBatch ( final String ident , final List eventBatchEntrys ) { } public String getInterestedIdentifier ( ) { } } class TabIconHandler implements ChangeListener , EventCountListener { private boolean newEvents = true ; private boolean seenEvents = false ; private final String ident ; ImageIcon NEW_EVENTS = new ImageIcon ( ChainsawIcons . ANIM_RADIO_TOWER ) ; ImageIcon HAS_EVENTS = new ImageIcon ( ChainsawIcons . INFO ) ; Icon SELECTED = LineIconFactory . createBlankIcon ( ) ; public TabIconHandler ( String identifier ) { } public void eventCountChanged ( int currentCount , int totalCount ) { } public void stateChanged ( ChangeEvent event ) { } } public final ApplicationPreferenceModel getApplicationPreferenceModel ( ) { } }

Fix:
LogManager . getRootLogger ( ) . addAppender ( appender ) ;