2016-10-01 5 views
0

Ich versuche, alle meine Konsole-Ausgabe in eine Protokolldatei mit der Java-Logger-Klasse zu schreiben.Log-Konsole Ausgabe in eine Log-Datei Java-Logger

public static Logger logger = Logger.getLogger("Log"); 
public static FileHandler fh; 
public static ConsoleHandler handler = new ConsoleHandler(); 
public static DateFormat dateFormat = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); 
public static Calendar cal = Calendar.getInstance(); 

/** 
* Launch the application. 
* @param args 
* @throws IOException 
*/ 

/* -- START MAIN -- */ 
public static void main(String[] args) throws IOException { 
    Settings.settingsRead(); 

    try { 
     // This block configure the logger with handler and formatter 
     fh = new FileHandler("logs/hudedit_log_" + dateFormat.format(cal.getTime()) + ".log"); 
     logger.setLevel(Level.ALL); 
     handler.setFormatter(new SimpleFormatter()); 
     logger.addHandler(handler); 
     logger.info("hello world"); 
     logger.addHandler(fh); 
     SimpleFormatter formatter = new SimpleFormatter(); 
     fh.setFormatter(formatter); 

     logger.info("Test"); 

    } catch (SecurityException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

Wie kann ich es machen, so dass es alles nimmt, die an die Konsole ausgegeben wurde, und schreiben Sie es effizient in eine Datei anstatt setzen logger.info ("Was auch immer das, was ich ausgeben wollen "); überall?

Antwort

Verwandte Themen