首先來(lái)聊聊往事吧~~兩年前就職于一家傳統(tǒng)金融軟件公司,為某交易所開(kāi)發(fā)一套大型交易系統(tǒng),交易標(biāo)的的價(jià)格為流式數(shù)據(jù),采用價(jià)格觸發(fā)成交方式,T+0交易制度(類似炒股,只是炒的不是股票而是其他標(biāo)的物,但可以隨時(shí)開(kāi)平倉(cāng))。鑒于系統(tǒng)需要記錄大量?jī)r(jià)格數(shù)據(jù)、交易信息及訂單流水,且系統(tǒng)對(duì)性能要求極高(敏感度達(dá)毫秒級(jí)),因此需要避免日志服務(wù)成為系統(tǒng)性能瓶頸。通過(guò)對(duì)幾個(gè)通用型日志(如log4j、logback)的性能壓測(cè),以及考慮到它們作為通用型日志相對(duì)比較臃腫,就決定自個(gè)兒寫個(gè)日志工具以支撐系統(tǒng)功能和性能所需。當(dāng)時(shí)的做法只是簡(jiǎn)單的將日志的實(shí)現(xiàn)作為一個(gè) util 類寫在項(xiàng)目中,只有幾百行的代碼量。

系統(tǒng)上線兩個(gè)月后日均成交額200億RMB,最高達(dá)440億RMB,峰值成交4000筆/秒。系統(tǒng)非常龐大,但幾百行的代碼卻完美支撐住了重要的日志服務(wù)!

鑒于其優(yōu)秀的表現(xiàn),就花了一點(diǎn)點(diǎn)時(shí)間把它抽取出來(lái)作為一個(gè)獨(dú)立的日志組件,取名叫 FLogger,代碼幾乎沒(méi)有改動(dòng),現(xiàn)已托管到GitHub(FLogger),有興趣的童鞋可以clone下來(lái)了解并改進(jìn),目前它的實(shí)現(xiàn)是非常簡(jiǎn)(純)單(粹)的。

以上就是 FLogger 的誕生背景。好吧,下面進(jìn)入正題。

特性

雖然 FLogger 只有幾百行的代碼,但是麻雀雖小五臟俱全,它可是擁有非常豐富的特性呢: