chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣將日志添加到Java應(yīng)用程序

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

掃碼添加小助手

加入工程師交流群

步驟1:創(chuàng)建新應(yīng)用程序

啟動(dòng)Netbeans并選擇創(chuàng)建新的項(xiàng)目。我們要?jiǎng)?chuàng)建一個(gè)Maven項(xiàng)目。

選擇Java Maven項(xiàng)目后,為您的項(xiàng)目命名。我叫我的MyFirstLoggingApplication。

步驟2:添加主類-使之可執(zhí)行

您現(xiàn)在應(yīng)該擁有一個(gè)全新的干凈應(yīng)用程序。我們首先需要?jiǎng)?chuàng)建一個(gè)簡(jiǎn)單的Java類,并添加main方法使其可執(zhí)行。我們將使其保持簡(jiǎn)單,并添加一些附加內(nèi)容以向控制臺(tái)編寫一些內(nèi)容。

創(chuàng)建一個(gè)新的Java類

命名它。我的示例是MyLoggingApplication

接下來(lái),我們使用以下代碼添加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ùn)行此應(yīng)用程序時(shí),您將看到三行內(nèi)容輸出。第一個(gè)代表啟動(dòng)過(guò)程,主要應(yīng)用程序運(yùn)行,最后一個(gè)代表應(yīng)用程序完成。

步驟3:添加Log4J日志記錄模塊并配置

我們將使用Log4J模塊。在該站點(diǎn)上:

將日志語(yǔ)句插入代碼中是調(diào)試它的技術(shù)含量較低的方法。這也可能是唯一的方法,因?yàn)檎{(diào)試器并不總是可用或不適用。對(duì)于多線程應(yīng)用程序和整個(gè)分布式應(yīng)用程序通常是這種情況。

打開pom.xml文件。此文件是Maven如何下載所需的軟件包和模塊供我們使用的方式。

添加以下代碼:

log4j

log4j

1.2.17

如果您現(xiàn)在啟動(dòng)應(yīng)用程序,您將看到應(yīng)用程序抱怨log4j沒(méi)有可用的配置,因此未啟用日志記錄。

有多種配置log4j的方法。我們將使用屬性文件。

在應(yīng)用程序的根文件夾中創(chuàng)建一個(gè)名為log4j.properties的文件。這不是理想的選擇,但是在以后的文章中,我將介紹有關(guān)移動(dòng)資源文件的信息。

現(xiàn)在,我們希望我們的應(yīng)用程序仍將所有日志記錄寫入控制臺(tái),但是我們將繼續(xù)它也可以寫入日志文件。以防萬(wàn)一您以后需要調(diào)查問(wèn)題。

將以下部分添加到您的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)用程序中

我們需要通過(guò)我們的應(yīng)用程序中的錯(cuò)誤來(lái)知道哪個(gè)類。因此,我們需要將記錄器實(shí)例與寫入日志文件的類相關(guān)聯(lián)。對(duì)于我們的測(cè)試應(yīng)用程序,它非常簡(jiǎn)單,因?yàn)槲覀冎挥幸粋€(gè)類。

在該類中添加以下行:

final static Logger logger = Logger.getLogger(MyLoggingApp.class);

現(xiàn)在我們需要將log4j配置為讀取我們創(chuàng)建的屬性文件。幸運(yùn)的是,這僅需要一次,而不是每個(gè)班級(jí)都需要。

main方法中的以下代碼應(yīng)該足以加載屬性文件:

PropertyConfigurator.configure(“l(fā)og4j.properties”);

如果您現(xiàn)在運(yùn)行應(yīng)用程序,但仍然抱怨找不到文件,那么您可能需要將文件復(fù)制到pom.xml文件所在的目錄。如前所述,在以后的文章中,我將討論如何確切指定這些文件的類型。

您可以在應(yīng)用程序的各個(gè)級(jí)別進(jìn)行登錄。錯(cuò)誤,警告,調(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ùn)行應(yīng)用程序

剩下的就是運(yùn)行應(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)用程序沒(méi)有發(fā)生任何錯(cuò)誤,因此沒(méi)有顯示ERROR行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2997

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    rt_printf相關(guān)組件怎么添加

    查詢到printf相關(guān)兩個(gè)組件,點(diǎn)擊添加時(shí)提示如圖,請(qǐng)教如何添加到項(xiàng)目中。
    發(fā)表于 10-09 07:24

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

    我想將rt-thread studio的“同步scons配置至項(xiàng)目”功能添加到編譯前步驟中 但是我不知道這個(gè)功能執(zhí)行了什么指令,在構(gòu)建前步驟中應(yīng)該輸入什么指令,用”scons”命令無(wú)法實(shí)現(xiàn)
    發(fā)表于 09-22 07:39

    如何移除意外添加到項(xiàng)目中或不再需要的板級(jí)標(biāo)注

    在原理圖文檔中調(diào)用 Board Level Annotation Command 時(shí),項(xiàng)目目錄中會(huì)創(chuàng)建一個(gè)特殊文件,文件名包含項(xiàng)目名稱及 .ANNOTATION 擴(kuò)展名。此文件一旦創(chuàng)建,會(huì)影響標(biāo)識(shí)符的顯示和處理方式。目前無(wú)法通過(guò)自動(dòng)化方式移除該文件,本文向您展示如何手動(dòng)移除。
    的頭像 發(fā)表于 08-25 11:11 ?965次閱讀

    VScode使用STM32CUBE CLT如何添加靜態(tài)庫(kù).a文件到工程中?

    我使用VScode搭配ST的插件基于Cmake來(lái)編譯和調(diào)試程序,我感覺非常方便。但是遇到一個(gè)問(wèn)題,我不知道如何把.a后綴的靜態(tài)庫(kù)文件添加到工程中。有沒(méi)有大佬可以幫忙解決一下。
    發(fā)表于 08-12 07:36

    電商API日志分析的實(shí)用工具

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

    FX3 UVC 無(wú)法與 Ubuntu 24.04 Cheese 或 Snapshot 相機(jī)應(yīng)用程序配合使用,怎么處理?

    當(dāng)我嘗試使用 Cheese 或 Snapshot 應(yīng)用程序未壓縮的 1080p30 從我的 FX3 UVC+UAC 設(shè)備流式傳輸?shù)?Ubuntu 24.04 機(jī)器時(shí)遇到問(wèn)題。我的 FX3 在
    發(fā)表于 07-16 06:37

    ArkUI-X添加到現(xiàn)有Android項(xiàng)目中

    aar包 在應(yīng)用工程初始化ArkUI-X 通過(guò)Android studio 創(chuàng)建一個(gè)應(yīng)用工程,將我們上述的aar包添加到工程目錄下的libs目錄中 Application部分 繼承調(diào)用
    發(fā)表于 06-04 22:35

    ArkUI-X添加到現(xiàn)有Android項(xiàng)目中

    aar包 在應(yīng)用工程初始化ArkUI-X 通過(guò)Android studio 創(chuàng)建一個(gè)應(yīng)用工程,將我們上述的aar包添加到工程目錄下的libs目錄中 Application部分 繼承調(diào)用
    發(fā)表于 05-28 22:44

    ESP32驅(qū)動(dòng)MFRC522 RFID模塊讀寫IC卡數(shù)據(jù)

    本文介紹ESP32開發(fā)板驅(qū)動(dòng)MFRC522 RFID模塊,讀取RFID卡原始數(shù)據(jù)、獲取RFID卡的UID,并將個(gè)人數(shù)據(jù)添加到RFID卡中。
    的頭像 發(fā)表于 05-28 15:52 ?710次閱讀
    ESP32驅(qū)動(dòng)MFRC522 RFID模塊讀寫IC卡數(shù)據(jù)

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

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

    如何VCP功能添加到UVC應(yīng)用程序代碼中?

    我正在嘗試 VCP 功能添加到 UVC 應(yīng)用程序代碼中。 我的平臺(tái)是CYUSB3011-BZXC UsbUart 示例代碼已添加到現(xiàn)有的 UVC
    發(fā)表于 05-16 06:41

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

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

    如何ENWF9408AVEF Wi-Fi模塊添加到1064EVK wifi_cli SDK項(xiàng)目中?

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

    TMETRIC:簡(jiǎn)單步驟工作區(qū)連接到時(shí)間跟蹤應(yīng)用程序

    將計(jì)時(shí)器按鈕添加到組合門票 完成這三個(gè)簡(jiǎn)單步驟以在 Assembla 中啟用時(shí)間跟蹤。設(shè)置時(shí)間不超過(guò) 3 分鐘。 注冊(cè) TMetric 具有高級(jí)計(jì)費(fèi)和報(bào)告功能的時(shí)間跟蹤應(yīng)用程序 安裝瀏覽器擴(kuò)展
    的頭像 發(fā)表于 01-07 09:23 ?659次閱讀
    TMETRIC:簡(jiǎn)單步驟<b class='flag-5'>將</b>工作區(qū)連接到時(shí)間跟蹤<b class='flag-5'>應(yīng)用程序</b>

    SSM框架在Java開發(fā)中的應(yīng)用 如何使用SSM進(jìn)行web開發(fā)

    (full-stack)的應(yīng)用程序框架,它提供了全面的基礎(chǔ)設(shè)施建設(shè)支持,能夠幫助開發(fā)者構(gòu)建出企業(yè)級(jí)的應(yīng)用程序。Spring的核心是控制反轉(zhuǎn)(I
    的頭像 發(fā)表于 12-16 17:28 ?2152次閱讀