SSH(三)資源分類和日誌管理

2021-06-28 20:28:37 字數 2990 閱讀 4066

上篇博文已經分別介紹了如何搭建

ssh開發環境以及對

ssh三個框架的整合。整合完成之後,我們基本上就可以正常的開始乙個基於

ssh框架開發的專案了。本篇博文介紹的資源分類日誌管理都是一些錦上添花的配置。利用這些,來清晰我們的思路,便利我們的程式設計。

先來說說資源分類吧。這裡的資源分類是指對專案中**或者配置檔案等的乙個分類管理。以下截圖中的分類只是參考,主要是對於資源分類管理思想上的重視。我們要知道,乙個結構清晰骨架簡潔的專案是極其方便團隊開發,同時也可加快新人或者他人對該項目的理解。

再來說說日誌管理,一般稍大型的專案都會加入日誌管理。日誌模組基本是乙個必不可少的部分,它對除錯,記錄執行,問題定位都起到很重要的作用。我們常見的日誌工具有很多:

sf4j

、commons

-logging

、log4j

、jdk

自帶logging

等。這些日誌框架的常用功能和使用方式都是大體相同的。在這裡我想要格外說的就是

sf4j

,它不同於

log4j

或者logging

等日誌工具。sf4j是乙個管理日誌工具的工具。加入它是為了應對專案中日誌框架的變化,例如開始使用的

log4j

,但是後期因為某種原因想要更換為

commons-logging

,如果使用了

sf4j

,開發人員只需要呼叫

slf4j

即可,然後

slf4j

根據開發人員加入的不同的

jar包,來呼叫相應的日誌工具。

當前專案中我們使用的日誌工具就是

sf4j

和log4j

,下圖是使用

log4j

我們需要加入的

jar包:

log4j由三個重要的元件構成:日誌資訊的優先順序日誌資訊的輸出目的地日誌資訊的輸出格式。日誌資訊的優先順序從高到低有

fatal、e

rror、warn、info、debug,分別用來指定這條日誌資訊的重要程度;日誌資訊的輸出目的地指定了日誌將列印到控制台還是檔案中;而輸出格式則控制了日誌資訊的顯示內容。

其中日誌資訊的優先級別fatal

、error、warn、info、debug分別代表:嚴重錯誤、錯誤、警告、一般資訊、除錯資訊

關於日誌級別的設定,在log4j.properties檔案中:

### direct logmessages to stdout ###

### direct messagesto file hibernate.log ###

### set log levels -for more verbose logging change 'info' to 'debug' ###

log4j.rootlogger=error,stdout

#log4j.logger.org.hibernate=info

#log4j.logger.org.hibernate=debug

log4j.logger.cn.itcast.oa=debug

log4j.rootlogger=error,stdout
通過在這裡定義的級別,您可以控制到應用程式中相應級別的日誌資訊的開關。比如在這裡定義了info級別,則應用程式中所有debug級別的日誌資訊將不被列印出來。

log4j.logger.cn.itcast.oa=debug
則是單獨設定某個專案中的某個包的日誌級別。

加入jar包和配置檔案,我們就可以使用日誌管理我們的專案了。下面就是我對加入日誌的乙個測試。測試類**:

package cn.itcast.oa.test;

import org.apache.commons.logging.log;

import org.apache.commons.logging.logfactory;

import org.junit.test;

public class logtest

}

當我們在

log4j.properties

配置檔案中設定不同的日誌級別時,控制台列印的資訊應該也是不盡相同。先看日誌級別為

debug

log4j.rootlogger=debug,stdout
debug

是最低級別,應該比它級別高的日誌都應該被列印出來。顯示結果為:

再對比看一下,設定日誌級別為

error

。比它低的日誌級別資訊應該是不能被列印出來的。

log4j.rootlogger=error,stdout
顯示結果為:

至此,關於資源分類和日誌管理,我們有了乙個最基礎的了解,具體深入的使用還需要繼續在專案中摸索學習。

EC 學習筆記 三 資源管理

條款13 以物件管理資源 資源包括 動態分配記憶體 檔案描述符 網路socket 互斥鎖 資料庫連線 把資源放進物件內,可以依賴c 的 析構函式自動呼叫機制 確保資源被釋放 智慧型指標 是乙個 類指標 物件,引用計數型指標,當引用物件數為0時,自動刪除該資源 std shared ptrpclass...

基於FPGA的卷積神經網路實現(三)資源分配(1)

目錄 簡介框架 資源分配 1 資源分配 2 資料量化 1 資料量化 2 資料讀寫 卷積模組 池化 全連線與輸出 前面曾經說過這個demo使用最簡單的方法,也就是對每一層都單獨分配資源,所以需要提前設計好每一層所分配的資源數量。這裡的資源主要是指dsp單元和片上儲存資源,cnn的卷積層是計算密集型層,...

第三章 工具和資源

第三章 工具和資源 技巧33 熟悉ping實用工具 1 ping 得名於潛艇聲吶的發生,沒有相關的知名埠 把自己的程序id放在identifier欄位中,便於區分屬於自己的響應,相當於埠號的作用 rtt波動意味著網路負載的變化 技巧34 學習使用tcpdump或類似的工具 1 使用 不帶引數,抓取並...