本文主要介紹 IBM HTTP://www.aliyun.com/zixun/aggregation/13696.html">SmartCloud Entry 的日誌,包含採用的日誌框架、日誌的結構以及日誌的分析, 説明使用者在使用 SmartCloud Entry 的過程中在出現問題的情況下,快速的定位。
現在流行的日誌框架有很多,例如 Log4J、SLF4J、Apache Common-Logging 等,每種框架使用、配置的方式又不盡相同,在 SmartCloud Entry 中,我們使用 JDK 自帶的日誌工具來形成系統的日誌。
我們通過 java.util.logging.Logger.getLogger(String name) 來獲得一個命名的 logger, 之後我們就可以分別調用各自的方法來輸出 log。
日誌的級別逐級為 OFF、SEVERE、WARNING、INFO、FINE、FINER、FINEST、ALL,隨著級別的升高,日誌的資訊也隨著增多。
清單 1. 如何輸出日誌
import java.util.logging.Logger Logger logger = Logger.getLogger(「wpf-test」); logger.fine(「this is a fine message」);
日誌的配置
SmaryCloud Entry 預設的日誌配置通過設定檔提供,設定檔 log.properies 位於安裝後的配置目錄內,預設的配置如下:
清單 2. 日誌預設配置
# This is the main logging.properties for the CFS API application handlers=java.util.logging.ConsoleHandler, java.util.log ging. FileHandler # Default global logging level. .level=FINE # Default global logging level for the console handler. java.util.logging.ConsoleHandler.level=INFO java.util.logging.ConsoleHandler.formatter= java.util.logging.SimpleFormatter java.util.logging.FileHandler.pattern=%h/.skc/logs/skc-%g.log java.util.logging.FileHandler.count=9 java.util.logging.FileHandler.limit=50000000 java.util.logging.FileHandler.append=true
其中預設的日誌級別為 FINE,但如果我們需要分析一些問題的時候,往往需要提供更詳細的日誌,這時可以通過調整輸出到檔的日誌級別達到,方法如下:
java.util.logging.FileHandler.level=FINEST
從其他的配置項,我們可以看到系統預設把日誌存儲在使用者目錄內的的 /.skc/logs 下,同時每個日誌檔最大為 50M,最多為 9 個日誌檔,日誌檔的命名方式為 skc 與數位的組合,skc-0.log 為最新的日誌檔,例如
圖 1. 日誌檔案清單