色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    關注

    19

    文章

    2966

    瀏覽量

    104704
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

    我想使用 curl api,但我不知道如何添加到我的項目中,這樣當我將該庫的頭文件包含在我的項目中時它就不會抱怨。 有誰知道如何正確地第三方庫添加到ESP8266_RTOS_SD
    發表于 07-09 07:52

    請問如何.C的圖片文件添加到VScode(PlatfromIO)生成的lvgh項目中?

    當使用LVGL官方網頁轉換器,png圖片轉換為.c矩陣文件之后,如何.c的圖片文件加到VScode(PlatfromIO)的lvgh工程里面?<br> 不管是把.c放到assets、lib、include為什么每
    發表于 06-17 06:03

    使用Linux CLI應用程序進行批量傳輸,無法執行寫入/讀取操作怎么解決?

    傳輸。 2) 測試 VID/PID 已添加到 .inf 中。 3) 使用 FX3-sdk(windows)構建固件。 現在我要進行 Linux 設置 1) 應用程序
    發表于 05-29 06:07

    在RZ/T2M和RZ/N2L中Printf添加方法(使用查詢模式實現UART)

    RZ/N2L是一種工業以太網通信用MPU,可輕松網絡功能添加到工業設備中。
    的頭像 發表于 05-21 14:08 ?637次閱讀
    在RZ/T2M和RZ/N2L中Printf<b class='flag-5'>添加</b>方法(使用查詢模式實現UART)

    STM32F746 QSPI的Flash擴展后,添加到工程下載發現報錯,為什么?

    使用 W25Q128 模塊 ,使用的是微雪STM32F746IGT6的開發板,在QSPI進行Flash擴展了解發現需要做一個.FLM的Flash編程算法,我找一個STM32H7的進行修改,然后添加到工程下載發現報錯,無法加載算法,有大佬自己做過Flash編程算法嗎,求解
    發表于 04-17 06:31

    怎么把stlink server添加到keil里?

    stlink server的使用說明里面是支持keil5.25的。怎么把stlink server添加到keil里?
    發表于 03-27 07:28

    TC399 adc能添加到同一個隊列中并得到結果嗎?加入隊列是否有任何限制?

    添加到隊列中并得到結果。 我的疑問是,有了這些不同的頻道和組,我還能把它們添加到同一個隊列中并得到結果嗎?加入隊列是否有任何限制?
    發表于 03-04 06:33

    如何F-RAM?添加到現有的PSoC? Creator項目?

    我們在PSoC? Creator 中有一個 PSoC6 項目,并希望 QSPI F-RAM?存儲器添加到TDA5235_868_5_BOARD中。我很難找到如何在F-RAM? PSoC
    發表于 03-01 12:14

    FCX3是否具有PTS或SCR添加到映像幀的功能?

    問題 1) FCX3是否具有PTS或SCR添加到映像幀的功能,如隨附的USB規范中所述? 如果可能,請提供有關如何配置每個 PTS 和 SCR 的詳細信息。 問題 2) CAN FCX3 支持1080x1280@120fps傳輸帶寬? 如果這很困難,請讓我知道實際使用
    發表于 02-26 08:23

    如何TC1798器件添加到MDK KEIL?

    我正在嘗試使用 KEIL MDK(μVision)為英飛凌TC1798編程,但我不確定如何TC1798器件添加到MDK KEIL。 誰能幫我拿到 .pack 或者.zip 對于 TC1798?
    發表于 02-01 08:18

    如何CMSIS DSP庫添加到XMC4700 Relax Kit的Dave CE項目中?

    我剛開始研究 Dave,這對我來說還是個新事物。 我創建了一個 Dave CE 項目,并能夠啟動并運行 blink 代碼。 我想將 CMSIS DSP 庫添加到我的項目中,并使用庫中的 DSP 函數
    發表于 02-01 07:11

    TC397 Infineon-AURIX_STM_Interrupt_1_KIT_TC397例程添加到RTOS中不工作的原因?

    使用Infineon-AURIX_STM_Interrupt_1_KIT_TC397 例程添加到RTOS中不工作,到達設定的時間不能觸發中斷,而單獨的例程是沒有問題的,請問出現此問題是什么原因?是否與RTOS有關?
    發表于 01-24 07:42

    u8g2應用程序無法在moduStoolBox中構建是為什么?

    一些幫助。 u8g2 應用說明書 Step2 問題:它說把這個庫添加到應用程序中。 這是庫管理器中的 SSD1306 OLED 控制器庫嗎? Step3 問題:它顯示從 github 向應用程序
    發表于 01-24 07:03
    主站蜘蛛池模板: 捆绑调教网站| caoporon超碰在线视频| 亚洲 自拍 偷拍 另类综合图区| 欧美牲交视频免费观看K8经典| 老司机午夜影院试看区| 久久精选视频| 久久学生精品国产自在拍| 久久久96| 就去色一色| 美女张开腿露出尿口扒开来摸动漫| 久久两性视频| 美女被j进去动态| 嗯啊快拔出来我是你老师视频| 嫩草影院久久国产精品| 欧美精品高清在线观看| 欧美午夜免费观看福利片| 全免费午夜一级毛片| 日本中文一区| 天天躁躁水汪汪人碰人| 思思99热久久精品在线6| 午夜DV内射一区二区| 亚洲国产高清福利视频| 亚洲无码小格式| 真人美女精美小穴| 91九色网址| 成人性视频全过程| 国产精品…在线观看| 国产午夜永久福利视频在线观看 | 涩涩电影网| 挺进老师的紧窄小肉六电影完整版| 午夜精品久久久内射近拍高清| 小泽玛丽av无码观看| 夜蒲团之5阳性之教| 757一本到午夜宫| 波多久久亚洲精品AV无码| 国产超碰精久久久久久无码AV | 中国午夜伦理片| a级毛片黄免费a级毛片| 国产福利秒拍weipai.ee| 绞尽奶汁by菊花开| 免费黄色网址在线观看|