步驟1:創(chuàng)建新應(yīng)用程序
啟動Netbeans并選擇創(chuàng)建新的項目。我們要創(chuàng)建一個Maven項目。
選擇Java Maven項目后,為您的項目命名。我叫我的MyFirstLoggingApplication。
步驟2:添加主類-使之可執(zhí)行
您現(xiàn)在應(yīng)該擁有一個全新的干凈應(yīng)用程序。我們首先需要創(chuàng)建一個簡單的Java類,并添加main方法使其可執(zhí)行。我們將使其保持簡單,并添加一些附加內(nèi)容以向控制臺編寫一些內(nèi)容。
創(chuàng)建一個新的Java類
命名它。我的示例是MyLoggingApplication
接下來,我們使用以下代碼添加main方法:
/*
* My application header
*/
package com.thegeekbiker.myfirstloggingapplication;
/**
* @author LordFluffyGoggles
*/
public class MyLoggingApp {
//main method
public static void main(String[] args) {
System.out.println(“Application starting processes here.”); // Display the string.
System.out.println(“Application do more stuff here.”);
System.out.println(“Application end processes here.”);
}
}
運行此應(yīng)用程序時,您將看到三行內(nèi)容輸出。第一個代表啟動過程,主要應(yīng)用程序運行,最后一個代表應(yīng)用程序完成。
步驟3:添加Log4J日志記錄模塊并配置
我們將使用Log4J模塊。在該站點上:
將日志語句插入代碼中是調(diào)試它的技術(shù)含量較低的方法。這也可能是唯一的方法,因為調(diào)試器并不總是可用或不適用。對于多線程應(yīng)用程序和整個分布式應(yīng)用程序通常是這種情況。
打開pom.xml文件。此文件是Maven如何下載所需的軟件包和模塊供我們使用的方式。
添加以下代碼:
log4j
log4j
1.2.17
如果您現(xiàn)在啟動應(yīng)用程序,您將看到應(yīng)用程序抱怨log4j沒有可用的配置,因此未啟用日志記錄。
有多種配置log4j的方法。我們將使用屬性文件。
在應(yīng)用程序的根文件夾中創(chuàng)建一個名為log4j.properties的文件。這不是理想的選擇,但是在以后的文章中,我將介紹有關(guān)移動資源文件的信息。
現(xiàn)在,我們希望我們的應(yīng)用程序仍將所有日志記錄寫入控制臺,但是我們將繼續(xù)它也可以寫入日志文件。以防萬一您以后需要調(diào)查問題。
將以下部分添加到您的log4j.properties文件中:
# Root logger option
log4j.rootLogger=DEBUG, stdout, file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:logsMyLoggingApp.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
步驟4:將日志記錄添加到應(yīng)用程序中
我們需要通過我們的應(yīng)用程序中的錯誤來知道哪個類。因此,我們需要將記錄器實例與寫入日志文件的類相關(guān)聯(lián)。對于我們的測試應(yīng)用程序,它非常簡單,因為我們只有一個類。
在該類中添加以下行:
final static Logger logger = Logger.getLogger(MyLoggingApp.class);
現(xiàn)在我們需要將log4j配置為讀取我們創(chuàng)建的屬性文件。幸運的是,這僅需要一次,而不是每個班級都需要。
main方法中的以下代碼應(yīng)該足以加載屬性文件:
PropertyConfigurator.configure(“l(fā)og4j.properties”);
如果您現(xiàn)在運行應(yīng)用程序,但仍然抱怨找不到文件,那么您可能需要將文件復(fù)制到pom.xml文件所在的目錄。如前所述,在以后的文章中,我將討論如何確切指定這些文件的類型。
您可以在應(yīng)用程序的各個級別進行登錄。錯誤,警告,調(diào)試,信息等。
我將在此處和此處添加一些信息和調(diào)試信息,以便您了解如何以及在何處使用它。
public class MyLoggingApp {
final static Logger logger = Logger.getLogger(MyLoggingApp.class);
//main method
public static void main(String[] args) {
PropertyConfigurator.configure(“l(fā)og4j.properties”);
if(logger.isInfoEnabled()) logger.info(“Application starting.。.”);
System.out.println(“Application starting processes here.”);
if(logger.isInfoEnabled()) logger.info(“Application started successfully”);
try{
System.out.println(“Application do more stuff here.”);
if(logger.isDebugEnabled()) logger.debug((“Application did something”));
} catch (Exception e){
logger.error(“Something went wrong :”+e);
}
if(logger.isInfoEnabled()) logger.info(“Application finishing up.。.”);
System.out.println(“Application end processes here.”);
if(logger.isInfoEnabled()) logger.info(“Application finished.。.”);
}
}
步驟5:運行應(yīng)用程序
剩下的就是運行應(yīng)用程序并檢查日志文件。
2015-10-31 22:00:30 INFO MyLoggingApp:18 - Application starting.。.
2015-10-31 22:00:30 INFO MyLoggingApp:20 - Application started successfully
2015-10-31 22:00:30 DEBUG MyLoggingApp:23 - Application did something
2015-10-31 22:00:30 INFO MyLoggingApp:27 - Application finishing up.。.
2015-10-31 22:00:30 INFO MyLoggingApp:29 - Application finished.。.
由于我們的應(yīng)用程序沒有發(fā)生任何錯誤,因此沒有顯示ERROR行。
-
JAVA
+關(guān)注
關(guān)注
19文章
2973瀏覽量
104939
發(fā)布評論請先 登錄
相關(guān)推薦
評論