日誌採集介面把接收過來的日誌資料寫入到日誌檔案,日誌檔案以天為單位進行儲存。
介面採用@ignoretoken標記不需要進行令牌校驗。
採用@crossorigin標記,讓介面能夠跨域訪問,支援ajax跨域請求。
@apioperation
(value =
"提交日誌"
)@apiimplicitparams()
(path =
"/log/add"
, method = requestmethod.post, produces =
)@ignoretoken
@crossorigin
public responsedata addlog
(@requestbody logdata logdata)
日誌以文字格式儲存,每條日誌按行寫入。
日誌行的格式如下:
時間戳|日誌id|日誌資料json
日誌按行儲存的好處是,可以利用bufferedreader的readline方法進行日誌的按行讀取。
日誌按行儲存,要對日誌資料json部分進行處理,把換行符替換掉。
public string logtofile
(logdata logdata)
fileutil.
(path, sb.
tostring()
);return uuid;
}
利用randomaccessfile類寫入,用檔案瑣控制併發。如果是海量日誌的場合,可以部署多幾個採集點。
public
static
void
(string path, string line)
byte
bytes = line.
getbytes
("utf-8");
fout =
newrandomaccessfile
(file,
"rw");
long filelength = fout.
length()
;//獲取檔案的長度
fout.
seek
(filelength)
;//將檔案的讀寫指標定位到檔案的末尾
channel = fout.
getchannel()
;//開啟檔案通道
filelock filelock = null;
while
(true
)catch
(exception e)
} fout.
write
(bytes)
; fout.
writechar
('\n');
filelock.
release()
; channel.
close()
; fout.
close()
;}catch
(exception e1)
finally
}
通過定時任務,把各個採集點的日誌文字匯入資料庫/大資料儲存。 syslog日誌系統 日誌採集
摘自 日誌採集介面把接收過來的日誌資料寫入到日誌檔案,日誌檔案以天為單位進行儲存。介面採用 ignoretoken標記不需要進行令牌校驗。採用 crossorigin標記,讓介面能夠跨域訪問,支援ajax跨域請求。apioperation value 提交日誌 apiimplicitparams l...
日誌 syslog系統日誌
原創 2017年02月17日 20 47 05 前言 本文列出了在linux系統下的幾個日誌檔案。以及結合message中的日誌記錄,作出了簡單分析。syslog是linux系統預設的日誌守護程序。預設的syslog配置檔案是 etc sysctl.conf檔案 通常,syslog 接受來自系統的各...
syslog介紹 CS架構來採集系統日誌
unix linux系統中的大部分日誌都是通過一種叫做syslog的機制產生和維護的。syslog是一種標準的協議,分為客戶端和伺服器端,客戶端是產生日誌訊息的一方,而伺服器端負責接收客戶端傳送來的日誌訊息,並做出儲存到特定的日誌檔案中或者其他方式的處理。在linux中,常見的syslog伺服器端程...