2012-07-10 172 views
1

我正在使用默認的java.util.LoggingAPI將信息打印到我的日誌中。我在哪裏可以看到我的程序中的日誌

Logger.getLogger(Datastore.class.getName()); 
logger.info("Registering "); 

其中Datastore是類的名稱。但我無法找到存儲日誌的位置。我在Windows 7機器上運行,上面的程序是servlet的一部分。我對這個看似愚蠢的問題表示歉意,但有時候這種微不足道的事情會阻礙進步。

+0

假設您使用java.util.logging.Logger,並且已將一個FileHandler添加到根記錄器(默認情況下只有ConsoleHandler可用),並且日誌文件名沒有明確提供,那麼日誌文件是C:\ Users \ YourUserName \ javaN.log其中N是一個數字。請參閱http://docs.oracle.com/javase/7/docs/api/java/util/logging/FileHandler.html – mins 2014-05-17 22:49:59

回答

1

默認情況下,java.util.logging.Logger將輸出發送到控制檯和AREN不會打印到文件中。您將不得不在記錄器中添加java.util.logging.Handler。 下面是創建HTML,TEXTFILE處理程序的代碼片段。希望這可以幫助。

package logging; 

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 { 
     // Create Logger 
     Logger logger = Logger.getLogger(""); 
     logger.setLevel(Level.INFO); 
     fileTxt = new FileHandler("Logging.txt"); 
     fileHTML = new FileHandler("Logging.html"); 

     // Create txt Formatter 
     formatterTxt = new SimpleFormatter(); 
     fileTxt.setFormatter(formatterTxt); 
     logger.addHandler(fileTxt); 

     // Create HTML Formatter 
     formatterHTML = new MyHtmlFormatter(); 
     fileHTML.setFormatter(formatterHTML); 
     logger.addHandler(fileHTML); 
    } 
} 

如需進一步參考,請閱讀此article

1

您可以添加處理程序到記錄器,以指定日誌應該去的地方。

Handler handler = new FileHandler("DataStore.log"); 
Logger logger = Logger.getLogger(Datastore.class.getName()); 
logger.addHandler(handler); 
logger.info("Registering "); 

記錄器只創建日誌對象,但它是一個處理器,它可以顯示它。處理程序可以是從Handler定義的任何子類。如果您使用FileHandler,則應該閱讀FileHandler的Java API。

0

如果您沒有log4j配置文件(假設Logger來自log4j),事情會變得非常安靜。

對於初學者來說,嘗試添加的屬性在你的類目錄的根文件,是這樣的:

# Set root logger level to DEBUG and its only appender to A1. 
log4j.rootLogger=DEBUG, A1 

# A1 is set to be a ConsoleAppender. 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 

# A1 uses PatternLayout. 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 

它來自here

+0

我不使用log4j – user1179510 2012-07-10 05:26:12

相關問題