273
財經資訊
log4j日誌__常見日誌格式_用戶指南_日誌服務-阿裏雲
log4j有兩種接入日誌服務的方式:
- 使用loghub log4j appender
- 使用logtail收集log4j日誌文件
下麵將分別介紹兩種接入方式。
loghub log4j appender
Log4j由三個重要的組件構成:日誌信息的優先級,日誌信息的輸出目的地,日誌信息的輸出格式。日誌信息的優先級從高到低有ERROR、WARN、INFO、DEBUG,分別用來指定這條日誌信息的重要程度;日誌信息的輸出目的地指定了日誌將打印到控製台還是文件中;而輸出格式則控製了日誌信息的顯示內容。
使用Loghub Log4j Appender,您可以控製日誌的輸出目的地為阿裏雲日誌服務,有一點需要特別注意,Loghub Log4j Appender不支持設置日誌的輸出格式,寫到日誌服務中的日誌的樣式如下:
level:ERROR
location:test.TestLog4jAppender.main(TestLog4jAppender.java:18)
message:test log4j appender
thread:main
time:2016-05-27T03:15+0000
level是日誌級別,location是日誌打印語句的代碼位置,message是日誌內容,thread是線程名稱,time是日誌打印時間。
使用Loghub Log4j Appender的好處
- 客戶端日誌不落盤:既數據生產後直接通過網絡發往服務端。
- 對於已經使用log4j記錄日誌的應用,隻需要簡單修改配置文件就可以將日誌傳輸到日誌服務。
- 異步高吞吐,Loghub Log4j Appender會將用戶的日誌merge之後異步發送,提高網絡IO效率。
使用方法
Step 1: maven工程中引入依賴。
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>log-loghub-log4j-appender</artifactId>
<version>0.1.1</version>
</dependency>
Step 2: 修改log4j.properties文件(不存在則在項目根目錄創建),配置根Logger,其語法為:
log4j.rootLogger = [level] , appenderName1, appenderName2, …
其中,level 是日誌記錄的優先級,優先級從高到低分別是ERROR、WARN、INFO、DEBUG。通過在這裏定義的級別,您可以控製到應用程序中相應級別的日誌信息的開關。比如在這裏定義了INFO級別,則應用程序中所有DEBUG級別的日誌信息將不被打印出來。appenderName就是指定日誌信息輸出到哪個地方。您可以同時指定多個輸出目的地,這裏的每個appender會對應到具體某一種appender類型,每種appender都會提供一些配置參數。
使用loghub appender的配置如下:
log4j.rootLogger=WARN,loghub
log4j.appender.loghub = com.aliyun.openservices.log.log4j.LoghubAppender
log4j.appender.loghub.projectName = [you project]
log4j.appender.loghub.logstore = [you logstore]
log4j.appender.loghub.endpoint = [your project endpoint]
log4j.appender.loghub.accessKeyId = [your accesskey id]
log4j.appender.loghub.accessKey = [your accesskey]
配置中中括號內的部分是需要填寫的,具體含義見下麵的說明。
loghub appender配置參數
Loghub Log4j Appender可供配置的參數如下,其中注釋為必選參數的是必須填寫的,可選參數在不填寫的情況下,使用默認值。
#日誌服務的project名,必選參數
log4j.appender.loghub.projectName = [you project]
#日誌服務的logstore名,必選參數
log4j.appender.loghub.logstore = [you logstore]
#日誌服務的http地址,必選參數
log4j.appender.loghub.endpoint = [your project endpoint]
#用戶身份標識,必選參數
log4j.appender.loghub.accessKeyId = [your accesskey id]
log4j.appender.loghub.accessKey = [your accesskey]
#當使用臨時身份時必須填寫,非臨時身份則不需要填寫
log4j.appender.loghub.stsToken=[your ststoken]
#被緩存起來的日誌的發送超時時間,如果緩存超時,則會被立即發送,單位是毫秒,可選參數
log4j.appender.loghub.packageTimeoutInMS=3000
#每個緩存的日誌包中包含日誌數量的最大值,不能超過4096,可選參數
log4j.appender.loghub.logsCountPerPackage=4096
#每個緩存的日誌包的大小的上限,不能超過5MB,單位是字節,可選參數
log4j.appender.loghub.logsBytesPerPackage = 5242880
#Appender實例可以使用的內存的上限,單位是字節,默認是100MB,可選參數
log4j.appender.loghub.memPoolSizeInByte=1048576000
#後台用於發送日誌包的IO線程的數量,默認值是1,可選參數
log4j.appender.loghub.ioThreadsCount=1
# 輸出到日誌服務的時間格式,使用java中SimpleDateFormat格式化時間,默認是ISO8601,可選參數
log4j.appender.loghub.timeFormat=yyyy-MM-dd'T'HH:mmZ
log4j.appender.loghub.timeZone=UTC
使用logtail收集
LOG4J 默認日誌格式打到文件中的日誌樣例如下:
2013-12-25 19:57:06,954 [10.207.37.161] WARN impl.PermanentTairDaoImpl - Fail to Read Permanent Tair,key:e:470217319319741_1,result:com.example.tair.Result@172e3ebc[rc=code=-1, msg=connection error or timeout,value=,flag=0]
- 多行日誌起始匹配(使用ip信息表示一行開頭):
d+-d+-d+s.*
- 提取日誌信息的正則表達式:
(d+-d+-d+sd+:d+:d+,d+)s[([^]]*)]s(S+)s+(S+)s-s(.*)
- 時間轉換格式:
%Y-%m-%d %H:%M:%S
- 樣例日誌提取結果:
Key | Value |
---|---|
time | 2013-12-25 19:57:06,954 |
ip | 10.207.37.161 |
level | WARN |
class | impl.PermanentTairDaoImpl |
message | Fail to Read Permanent Tair,key:e:470217319319741_1,result:com.example.tair.Result@172e3ebc[rc=code=-1, msg=connection error or timeout,value=,flag=0] |
最後更新:2016-11-23 17:16:06
上一篇:
python日誌__常見日誌格式_用戶指南_日誌服務-阿裏雲
下一篇:
nodejs日誌__常見日誌格式_用戶指南_日誌服務-阿裏雲
認證介紹__彈性計算認證(ACP級)_如何獲得專業技術認證?_專業技術認證-阿裏雲
刪除創建/刪除失敗的庫__數據庫管理_開放API_分布式關係型數據庫 DRDS-阿裏雲
引導操作__用戶指南_E-MapReduce-阿裏雲
變更RDS實例規格__實例管理_API 參考_雲數據庫 RDS 版-阿裏雲
報表製作-文件管理__製作報表_Quick BI-阿裏雲
批量操作基本原則__批量管理接口_API文檔_雲解析-阿裏雲
通過CDN加速站點資源分發__CDN 體驗_體驗館-阿裏雲
阿裏雲、亞馬遜競爭雲服務市場掀起價格戰;沃爾瑪發債融資60億美元,決戰亞馬遜
怎樣授權一個子用戶管理兩台指定的RDS實例___雲數據庫(RDS)授權問題_授權常見問題_訪問控製-阿裏雲
備案服務號怎麼獲得?__產品驗證_備案流程_備案-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲