Buggy code:
public class CLIMain extends AbstractLogEnabled { private static final Resources REZ = ResourceManager . getPackageResources ( CLIMain . class ) ; private final String DEFAULT_EMBEDDOR_CLASS = "org.apache.myrmidon.components.embeddor.DefaultEmbeddor" ; private static final String PATTERN = "[%8.8{category}]<seq2seq4repair_space>%{message}\\n%{throwable}" ; private static final int HELP_OPT = 'h' ; private static final int QUIET_OPT = 'q' ; private static final int VERBOSE_OPT = 'v' ; private static final int FILE_OPT = 'f' ; private static final int LOG_LEVEL_OPT = 'l' ; private static final int DEFINE_OPT = 'D' ; private static final int BUILDER_PARAM_OPT = 'B' ; private static final int VERSION_OPT = 1 ; private static final int LISTENER_OPT = 2 ; private static final int TASKLIB_DIR_OPT = 5 ; private static final int INCREMENTAL_OPT = 6 ; private static final int HOME_DIR_OPT = 7 ; private static final int DRY_RUN_OPT = 8 ; private static final int [ ] INFO_OPT_INCOMPAT = new int [ ] { CLIMain . HELP_OPT , CLIMain . QUIET_OPT , CLIMain . VERBOSE_OPT , CLIMain . FILE_OPT , CLIMain . LOG_LEVEL_OPT , CLIMain . VERSION_OPT , CLIMain . LISTENER_OPT , CLIMain . DEFINE_OPT , CLIMain . DRY_RUN_OPT } ; private static final int [ ] LOG_OPT_INCOMPAT = new int [ ] { CLIMain . QUIET_OPT , CLIMain . VERBOSE_OPT , CLIMain . LOG_LEVEL_OPT } ; private Parameters m_parameters = new Parameters ( ) ; private ArrayList m_targets = new ArrayList ( ) ; private Parameters m_defines = new Parameters ( ) ; private Parameters m_builderParameters = new Parameters ( ) ; private boolean m_dryRun = false ; public static void main ( final String [ ] args ) { } private void usage ( final CLOptionDescriptor [ ] options ) { } private CLOptionDescriptor [ ] createCLOptions ( ) { } private boolean parseCommandLineOptions ( final String [ ] args ) { } private void setupDefaultParameters ( ) { } private void execute ( final String [ ] args ) throws Exception { setupDefaultParameters ( ) ; if ( ! ( parseCommandLineOptions ( args ) ) ) { return ; } final String logLevel = m_parameters . getParameter ( "log.level" , null ) ; enableLogging ( new org . apache . avalon . framework . logger . LogKitLogger ( createLogger ( logLevel ) ) ) ; final String home = m_parameters . getParameter ( "myrmidon.home" , null ) ; final File homeDir = new File ( home ) . getAbsoluteFile ( ) ; if ( ! ( homeDir . isDirectory ( ) ) ) { final String message = CLIMain . REZ . getString ( "home-not-dir.error" , homeDir ) ; throw new Exception ( message ) ; } final String filename = m_parameters . getParameter ( "filename" , null ) ; final File buildFile = new File ( filename ) . getCanonicalFile ( ) ; if ( ! ( buildFile . isFile ( ) ) ) { final String message = CLIMain . REZ . getString ( "bad-file.error" , buildFile ) ; throw new Exception ( message ) ; } final String listenerName = m_parameters . getParameter ( "listener" , null ) ; final ProjectListener listener = createListener ( listenerName ) ; if ( getLogger ( ) . isInfoEnabled ( ) ) { final String message = CLIMain . REZ . getString ( "buildfile.notice" , buildFile ) ; <START_BUG> getLogger ( ) . warn ( message ) ; <END_BUG> } if ( getLogger ( ) . isInfoEnabled ( ) ) { final String message = CLIMain . REZ . getString ( "homedir.notice" , homeDir ) ; getLogger ( ) . info ( message ) ; } if ( m_dryRun ) { m_parameters . setParameter ( ROLE , "org.apache.myrmidon.components.executor.PrintingExecutor" ) ; } final Embeddor embeddor = createEmbeddor ( ) ; setupLogger ( embeddor ) ; embeddor . parameterize ( m_parameters ) ; embeddor . initialize ( ) ; embeddor . start ( ) ; final Project project = embeddor . createProject ( buildFile . toString ( ) , null , m_builderParameters ) ; BufferedReader reader = null ; final boolean incremental = m_parameters . getParameterAsBoolean ( "incremental" , false ) ; while ( true ) { final Workspace workspace = embeddor . createWorkspace ( m_defines ) ; workspace . addProjectListener ( listener ) ; doBuild ( workspace , project , m_targets ) ; if ( ! incremental ) { break ; } final String message = CLIMain . REZ . getString ( "repeat.notice" ) ; System . out . println ( message ) ; if ( null == reader ) { reader = new BufferedReader ( new InputStreamReader ( System . in ) ) ; } String line = reader . readLine ( ) ; if ( line . equalsIgnoreCase ( "no" ) ) { break ; } } embeddor . stop ( ) ; embeddor . dispose ( ) ; } private Embeddor createEmbeddor ( ) throws Exception { } private void doBuild ( final Workspace workspace , final Project project , final ArrayList targets ) { } private Logger createLogger ( final String logLevel ) throws Exception { } private ProjectListener createListener ( final String listener ) throws Exception { } }

Fix:
getLogger ( ) . info ( message ) ;