2017-09-26 2 views
1

この例では、java.util.logging onlineを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) .

また、古いJDKのバージョンからLogger.getGlobal()の代替です。


はルートロガーの使用を設定するには: - (。ロガーrootLogger =ロガー*のgetLogger *( "");)

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

が、先生他の質問についてどんな考えをあなたに感謝を – user648026

+1

user648026が持っています@それに関連する回答を更新しました。 – nullpointer

関連する問題