2017-09-26 57 views
1

我發現這個例子使用java.util.logging在線here。我不明白如何修改它以跨多個類使用示例
我只是在每個類中聲明這個嗎?跨多個類使用java.util.logging

Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); 

也在類,它們提供有一個語法錯誤:

// suppress the logging output to the console 
Logger rootLogger = Logger.*getLogger*(""); 

什麼是正本清源記錄儀的正確方法是什麼?

package com.vogella.logger; 

import java.io.IOException; 
import java.util.logging.FileHandler; 
import java.util.logging.Formatter; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import java.util.logging.SimpleFormatter; 

public class MyLogger { 
    static private FileHandler fileTxt; 
    static private SimpleFormatter formatterTxt; 

    static private FileHandler fileHTML; 
    static private Formatter formatterHTML; 

    static public void setup() throws IOException { 

     // get the global logger to configure it 
     Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); 

     // suppress the logging output to the console 
     Logger rootLogger = Logger.*getLogger*(""); 
     Handler[] handlers = rootLogger.getHandlers(); 
     if (handlers[0] instanceof ConsoleHandler) { 
      rootLogger.removeHandler(handlers[0]); 
     } 

     logger.setLevel(Level.INFO); 
     fileTxt = new FileHandler("Logging.txt"); 
     fileHTML = new FileHandler("Logging.html"); 

     // create a TXT formatter 
     formatterTxt = new SimpleFormatter(); 
     fileTxt.setFormatter(formatterTxt); 
     logger.addHandler(fileTxt); 

     // create an HTML formatter 
     formatterHTML = new MyHtmlFormatter(); 
     fileHTML.setFormatter(formatterHTML); 
     logger.addHandler(fileHTML); 
    } 
} 

回答

2

。如鏈接的Javadoc中所述使用GLOBAL_LOGGER_NAME也可用作使用來自每個類的全局記錄器的日誌記錄。雖然它的用處不大,因爲它是提供的默認java記錄器。

GLOBAL_LOGGER_NAME is a name for the global logger. This name is provided as a convenience to developers who are making casual use of the Logging package....

The preferred way to get the global logger object is via the call Logger.getLogger(Logger.GLOBAL_LOGGER_NAME) .

它也是Logger.getGlobal()從老版本的JDK的替代。


要配置根記錄器用途: - (記錄器rootLogger =記錄器* getLogger *( 「」);)

Logger logger = Logger.getLogger(""); 
+0

謝謝主席先生,關於其他問題的任何想法 – user648026

+1

@ user648026有更新了與​​之相關的答案。 – nullpointer