国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣將日志添加到Java應用程序

454398 ? 來源:wv ? 2019-09-27 10:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟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
    +關注

    關注

    20

    文章

    3001

    瀏覽量

    116429
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    SDV域控器日志追蹤與解析技術 – DLT

    ,如何在SDV域控制器開發測試環境中,應用程序、中間件和內核日志與時間戳等信息同步結合匯聚到同一個日志流,以便更好服務軟件工廠或“黑燈”測試工廠,亦或為云端AI平臺提
    的頭像 發表于 01-21 10:04 ?1842次閱讀
    SDV域控器<b class='flag-5'>日志</b>追蹤與解析技術 – DLT

    rt_printf相關組件怎么添加?

    查詢到printf相關兩個組件,點擊添加時提示如圖,請教如何添加到項目中。
    發表于 10-09 07:24

    如何“同步scons 配置至項目”功能添加到編譯步驟中?

    我想將rt-thread studio的“同步scons配置至項目”功能添加到編譯前步驟中 但是我不知道這個功能執行了什么指令,在構建前步驟中應該輸入什么指令,用”scons”命令無法實現
    發表于 09-22 07:39

    學生適合使用的SOLIDWORKS 云應用程序

    隨著科技的不斷發展,計算機輔助設計(CAD)技術已經成為現代工程教育的重要組成部分。SOLIDWORKS作為一款CAD軟件,其教育版云應用程序為學生提供了強大而靈活的設計平臺。本文探討
    的頭像 發表于 09-15 10:39 ?775次閱讀
    學生適合使用的SOLIDWORKS 云<b class='flag-5'>應用程序</b>

    如何移除意外添加到項目中或不再需要的板級標注

    在原理圖文檔中調用 Board Level Annotation Command 時,項目目錄中會創建一個特殊文件,文件名包含項目名稱及 .ANNOTATION 擴展名。此文件一旦創建,會影響標識符的顯示和處理方式。目前無法通過自動化方式移除該文件,本文向您展示如何手動移除。
    的頭像 發表于 08-25 11:11 ?1247次閱讀

    VScode使用STM32CUBE CLT如何添加靜態庫.a文件到工程中?

    我使用VScode搭配ST的插件基于Cmake來編譯和調試程序,我感覺非常方便。但是遇到一個問題,我不知道如何把.a后綴的靜態庫文件添加到工程中。有沒有大佬可以幫忙解決一下。
    發表于 08-12 07:36

    電商API日志分析的實用工具

    ? 在當今數字化電商時代,API(應用程序編程接口)已成為平臺與外部系統交互的核心通道。電商API日志記錄了每一次請求的詳細信息,包括用戶行為、交易狀態、錯誤響應等。分析這些日志能幫助企業監控性能
    的頭像 發表于 07-23 15:50 ?652次閱讀
    電商API<b class='flag-5'>日志</b>分析的實用工具

    FX3 UVC 無法與 Ubuntu 24.04 Cheese 或 Snapshot 相機應用程序配合使用,怎么處理?

    當我嘗試使用 Cheese 或 Snapshot 應用程序未壓縮的 1080p30 從我的 FX3 UVC+UAC 設備流式傳輸到 Ubuntu 24.04 機器時遇到問題。我的 FX3 在
    發表于 07-16 06:37

    ArkUI-X添加到現有Android項目中

    aar包 在應用工程初始化ArkUI-X 通過Android studio 創建一個應用工程,將我們上述的aar包添加到工程目錄下的libs目錄中 Application部分 繼承調用
    發表于 06-04 22:35

    ArkUI-X添加到現有Android項目中

    aar包 在應用工程初始化ArkUI-X 通過Android studio 創建一個應用工程,將我們上述的aar包添加到工程目錄下的libs目錄中 Application部分 繼承調用
    發表于 05-28 22:44

    ESP32驅動MFRC522 RFID模塊讀寫IC卡數據

    本文介紹ESP32開發板驅動MFRC522 RFID模塊,讀取RFID卡原始數據、獲取RFID卡的UID,并將個人數據添加到RFID卡中。
    的頭像 發表于 05-28 15:52 ?1429次閱讀
    ESP32驅動MFRC522 RFID模塊讀寫IC卡數據

    怎樣才能安全地按住ctrc +c日志閱讀器然后才能停止并重新啟動日志

    的讀取過程,我無法在 FX3 中操作任何東西,所有命令都不起作用,所有控件寫入/讀取都將不起作用 以下是兩個函數 我怎樣才能安全地按住 ctrc +c 我的日志閱讀器然后才能停止并重新啟動
    發表于 05-27 07:11

    如何VCP功能添加到UVC應用程序代碼中?

    我正在嘗試 VCP 功能添加到 UVC 應用程序代碼中。 我的平臺是CYUSB3011-BZXC UsbUart 示例代碼已添加到現有的 UVC
    發表于 05-16 06:41

    Java開發者必備的效率工具——Perforce JRebel是什么?為什么很多Java開發者在用?

    Perforce JRebel是一款Java開發效率工具,旨在幫助java開發人員更快地編寫更好的應用程序。JRebel可即時重新加載對代碼的修改,無需重啟或重新部署應用程序,就能讓開
    的頭像 發表于 04-27 13:44 ?852次閱讀
    <b class='flag-5'>Java</b>開發者必備的效率工具——Perforce JRebel是什么?為什么很多<b class='flag-5'>Java</b>開發者在用?

    如何ENWF9408AVEF Wi-Fi模塊添加到1064EVK wifi_cli SDK項目中?

    如何 松下 ENWF9408AVEF (NXP 88W8977) Wi-Fi 模塊添加到 1064EVK wifi_cli SDK 項目中? 使用不同的 88W8977 定義初始化失敗
    發表于 04-02 07:50