閱讀278 返回首頁    go 財經資訊


分隔符日誌__常見日誌格式_用戶指南_日誌服務-阿裏雲

分隔符日誌以換行符作為邊界,每一個自然行都是一條日誌。

每一條日誌以固定分隔符(Separator,如製表符、空格、豎線、逗號、分號等單字符)連接日誌的多個字段。如果字段內部包含分隔符,使用Quote(雙引號)對字段進行包裹。

常見的分隔符日誌有:CSVTSV等。

日誌示例

  1. 05/May/2016:13:30:28,10.200.98.220,"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0UjpekFQOVJW45A&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1",200,18204,aliyun-sdk-java
  2. 05/May/2016:13:31:23,10.200.98.221,"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0UjpekFQOVJW45A&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1",401,23472,aliyun-sdk-java

采集配置

delimiter日誌配置1

如上日誌樣例,使用逗號(,)進行分割,一共包含6列,設置列名分別為:time,ip,url,status,latency,user-agent。

delimiter日誌配置2

可以使用選擇係統時間作為一條日誌的時間,也可以使用日誌的一列作為時間,比如選擇time字段(05/May/2016:13:30:29)作為時間,配置日期格式請參考Logtail日期格式

采集結果

delimiter采集預覽

更多日誌格式問題

Separator

分隔符日誌使用分隔符(separator)將一條日誌切分成多個字段,有以下格式要求:

  • separator必須是單個字符,例如製表符(t)、空格、豎線(|)、逗號(,)、分號(;)等單字符。
  • spearator不允許設置為多字符,例如||,&&&等形式。
  • spearator不允許設置為雙引號(”),雙引號被作為默認的quote。

Quote

為了防止日誌的字段內部包含分隔符(separator),使用quote(雙引號)對字段進行包裹。如果內容中在非quote情況下出現雙引號,需要進行轉義,處理成””。

  • 使用雙引號作為quote

使用逗號(,)作為separator,quote必須緊鄰separator(如有兩者之間包含空格、製表符等字符,請修改格式),日誌樣例如下:

  1. 1997,Ford,E350,"ac, abs, moon",3000.00

解析成5個字段:

字段1 字段2 字段3 字段4 字段5
1997 Ford E350 ac, abs, moon 3000.00
  • 日誌字段內通過轉義處理雙引號

第3個日誌字段內有雙引號,但並不作為quote使用,日誌樣例如下:

  1. 1999,Chevy,"Venture ""Extended Edition, Very Large""","",5000.00

解析成5個字段下:

字段1 字段2 字段3 字段4 字段5
1999 Chevy Venture “Extended Edition, Very Large” 5000.00

也就是說,雙引號(”)要麼作為quote使用,在字段的邊界單次出現,要麼作為字段內數據成對出現(””),其它情況不符合分割符日誌的格式定義,請考慮其它方式(極簡模式,正則模式等)進行字段解析。

更多細節請參考:維奇百科百度百科

最後更新:2016-11-24 11:23:48

  上一篇:go syslog日誌__常見日誌格式_用戶指南_日誌服務-阿裏雲
  下一篇:go JSON日誌__常見日誌格式_用戶指南_日誌服務-阿裏雲