在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    2988

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    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

    如何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 ?213次閱讀
    <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

    TMETRIC:簡單步驟工作區連接到時間跟蹤應用程序

    將計時器按鈕添加到組合門票 完成這三個簡單步驟以在 Assembla 中啟用時間跟蹤。設置時間不超過 3 分鐘。 注冊 TMetric 具有高級計費和報告功能的時間跟蹤應用程序 安裝瀏覽器擴展
    的頭像 發表于 01-07 09:23 ?388次閱讀
    TMETRIC:簡單步驟<b class='flag-5'>將</b>工作區連接到時間跟蹤<b class='flag-5'>應用程序</b>

    SSM框架在Java開發中的應用 如何使用SSM進行web開發

    (full-stack)的應用程序框架,它提供了全面的基礎設施建設支持,能夠幫助開發者構建出企業級的應用程序。Spring的核心是控制反轉(I
    的頭像 發表于 12-16 17:28 ?1526次閱讀

    KiCad 7中添加網絡類(一)

    “ ?網絡類用于特定目的的網絡分組,以便快速查看、分配設計規則等操作,比如可以12V、5V、3.3V、GND等網絡添加到Power網絡類,然后為Power網絡類定義獨立的線寬、間距規則
    的頭像 發表于 11-12 12:21 ?1637次閱讀
    KiCad 7中<b class='flag-5'>添加</b>網絡類(一)

    日志篇:模組日志總體介紹

    ?今天我們學習合宙模組日志總體介紹,以下進入正文。 一、本文討論的邊界 本文是對合宙 4G 模組, 以及 4G+GNSS 模組的日志功能的總體介紹。通過日志,可以對研發過程中,以及模組運行過程中
    的頭像 發表于 10-24 07:16 ?542次閱讀
    <b class='flag-5'>日志</b>篇:模組<b class='flag-5'>日志</b>總體介紹

    Adobe推出全新免費應用程序

    Adobe近日宣布了一項令人振奮的新舉措——從明年起,推出一款免費的基于網絡的應用程序。這款應用的主要功能是為圖像、視頻和音頻創作者提供便捷的“內容憑證”管理工具。
    的頭像 發表于 10-10 16:54 ?737次閱讀

    DSP/BIOS 5應用程序遷移到SYS/BIOS 6

    電子發燒友網站提供《DSP/BIOS 5應用程序遷移到SYS/BIOS 6.pdf》資料免費下載
    發表于 09-27 10:54 ?0次下載
    <b class='flag-5'>將</b>DSP/BIOS 5<b class='flag-5'>應用程序</b>遷移到SYS/BIOS 6

    日志框架簡介-Slf4j+Logback入門實踐

    結果不受日志的有無影響,但沒有日志應用程序是不完整的,甚至可以說是有缺陷的。優秀的日志系統可以 記錄操作軌跡 、 監控系統運行狀態 和 解決系統故障 。
    的頭像 發表于 07-30 10:00 ?1468次閱讀
    <b class='flag-5'>日志</b>框架簡介-Slf4j+Logback入門實踐

    華納云:java web和java有什么區別java web和java有什么區別

    Java Web和Java是兩個不同的概念,它們在功能、用途和實現方式上存在一些區別,下面詳細介紹它們之間的區別。 1. 功能和用途: – Java是一種編程語言,它提供了一種用于開
    的頭像 發表于 07-16 13:35 ?1409次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區別<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區別

    如何通過ESP8266上的命令將此網關添加到路由器?

    自互聯網的返回數據路由回芯片的AP部分。正如我所說的那樣,這有效,但我似乎在各種視頻中看到,有一種方法可以通過ESP8266上的命令將此網關添加到路由器中,而不是重新編程路由器。我的問題是,這可能嗎?命令
    發表于 07-16 07:41

    請問如何cURL庫添加到ESP8266_RTOS_SDK項目中?

    我想使用 curl api,但我不知道如何添加到我的項目中,這樣當我將該庫的頭文件包含在我的項目中時它就不會抱怨。 有誰知道如何正確地第三方庫添加到ESP8266_RTOS_SD
    發表于 07-09 07:52
    主站蜘蛛池模板: 国产精品夜夜春夜夜 | jlzzjlzz亚洲大全 | 丝袜紧身裙国产在线播放 | 丁香狠狠色婷婷久久综合 | 中文字幕一区二区三区四区 | 日本中文字幕在线播放 | 久青草国产观看在线视频 | 欧美人与zoxxxx另类 | 一卡二卡≡卡四卡亚洲高清 | 免费午夜不卡毛片 | 狠狠干b | 色多多福利网站老司机 | 伊人狠狠丁香婷婷综合色 | 一级片免费看 | 夜夜夜夜夜操 | 国产牛仔裤系列在线观看 | 夜夜爽天天狠狠九月婷婷 | 黄色高清视频网站 | 国内精品第一页 | 欧美综合视频 | 欧美无限看 | 日韩欧美在线中文字幕 | 一区二区视频网 | 欧美天天射 | 天天狠狠色噜噜 | 毛片天天看 | 亚洲成年网站 | 激情六月天婷婷 | 久草在线免费资源站 | 免费a级毛片出奶水 | 亚洲产国偷v产偷v自拍色戒 | 特黄色一级毛片 | 中国女人a毛片免费全部播放 | 日本口工福利漫画无遮挡 | 一级毛片免费不卡在线视频 | 国产午夜不卡在线观看视频666 | 狠狠色噜噜噜噜狠狠狠狠狠狠奇米 | 1024视频色版在线网站 | 欧美一级视频在线观看 | wwwww色| 久久久久久免费播放一级毛片 |