步驟1:創建新應用程序
啟動Netbeans并選擇創建新的項目。我們要創建一個Maven項目。
選擇Java Maven項目后,為您的項目命名。我叫我的MyFirstLoggingApplication。
步驟2:添加主類-使之可執行
您現在應該擁有一個全新的干凈應用程序。我們首先需要創建一個簡單的Java類,并添加main方法使其可執行。我們將使其保持簡單,并添加一些附加內容以向控制臺編寫一些內容。
創建一個新的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.”);
}
}
運行此應用程序時,您將看到三行內容輸出。第一個代表啟動過程,主要應用程序運行,最后一個代表應用程序完成。
步驟3:添加Log4J日志記錄模塊并配置
我們將使用Log4J模塊。在該站點上:
將日志語句插入代碼中是調試它的技術含量較低的方法。這也可能是唯一的方法,因為調試器并不總是可用或不適用。對于多線程應用程序和整個分布式應用程序通常是這種情況。
打開pom.xml文件。此文件是Maven如何下載所需的軟件包和模塊供我們使用的方式。
添加以下代碼:
log4j
log4j
1.2.17
如果您現在啟動應用程序,您將看到應用程序抱怨log4j沒有可用的配置,因此未啟用日志記錄。
有多種配置log4j的方法。我們將使用屬性文件。
在應用程序的根文件夾中創建一個名為log4j.properties的文件。這不是理想的選擇,但是在以后的文章中,我將介紹有關移動資源文件的信息。
現在,我們希望我們的應用程序仍將所有日志記錄寫入控制臺,但是我們將繼續它也可以寫入日志文件。以防萬一您以后需要調查問題。
將以下部分添加到您的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:將日志記錄添加到應用程序中
我們需要通過我們的應用程序中的錯誤來知道哪個類。因此,我們需要將記錄器實例與寫入日志文件的類相關聯。對于我們的測試應用程序,它非常簡單,因為我們只有一個類。
在該類中添加以下行:
final static Logger logger = Logger.getLogger(MyLoggingApp.class);
現在我們需要將log4j配置為讀取我們創建的屬性文件。幸運的是,這僅需要一次,而不是每個班級都需要。
main方法中的以下代碼應該足以加載屬性文件:
PropertyConfigurator.configure(“log4j.properties”);
如果您現在運行應用程序,但仍然抱怨找不到文件,那么您可能需要將文件復制到pom.xml文件所在的目錄。如前所述,在以后的文章中,我將討論如何確切指定這些文件的類型。
您可以在應用程序的各個級別進行登錄。錯誤,警告,調試,信息等。
我將在此處和此處添加一些信息和調試信息,以便您了解如何以及在何處使用它。
public class MyLoggingApp {
final static Logger logger = Logger.getLogger(MyLoggingApp.class);
//main method
public static void main(String[] args) {
PropertyConfigurator.configure(“log4j.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:運行應用程序
剩下的就是運行應用程序并檢查日志文件。
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.。.
由于我們的應用程序沒有發生任何錯誤,因此沒有顯示ERROR行。
-
JAVA
+關注
關注
19文章
2966瀏覽量
104704
發布評論請先 登錄
相關推薦
評論