上週靜兒用一天的時間寫了一個日誌切面,你們都很是支持配合,內部各個模塊都使用起來。git
從技術上來講就是一個aspectj,沒有什麼難點。關鍵是作好以後讓不少模塊都一塊兒使用起來,造成了一個規範。規範是一個很神奇的東西。github
好比因特網自己就是一套規範而已。所謂的帶寬是連電壓都規定好了的你們必須遵照的東西。好比神奇的http,也就是一套約定的規範。spring
那簡明日誌規範到底有什麼意義呢?回到以前靜兒寫的文章:美團點評智能支付核心交易系統的可用性實踐。docker
是的,簡明日誌規範是系統穩定性的重要保障之一。編程
這樣想,對於一個大型系統,不一樣的模塊經過不一樣的工程來維護,分而治之。可是一旦出現了問題,每一個模塊的日誌只有作這一塊的同窗才能看懂,這就杯具了。等定位到問題黃花菜都涼了。api
若是你們都有一些鏈路必需的參數,都是用統一的格式,這樣問題就好定位多了。這就是簡明日誌規範最重要的意義。架構
靜兒碼農一枚,有朋友吐槽靜兒的github一年沒更新了,主要作管理了吧。基礎架構部這邊你們都是作技術的,只有技術專家,沒有領導。github不更新緣由是我們在公司裏寫出的代碼,或者用公司電腦寫出的代碼,理論上都屬於公司。想開源須要審批的。這點也須要朋友注意了。翻譯
靜兒經受權,開源了日誌切面的代碼,目前已經上傳了github:debug
https://github.com/xiexiaojing/concise-logger3d
1.咱們定位問題是否有足夠的信息?
2.咱們在觀察信息狀況的時候是否會被不少不關心的內容所幹擾?
3.咱們的監控報警是否有可靠的信息來源?
簡明日誌,代碼無侵入,截獲全部與其餘組件交互日誌。
寫了一個日誌切面,默認在目錄的service包、api包、queue包的全部public方法先後打印info級別日誌。dao包打印debug級別日誌。也支持靈活用註解方式打印日誌。日誌等級能夠在統一配置中心上進行配置。
1.pom.xml配置
<dependency>
<groupId>com.brmayi</groupId>
<artifactId>concise-logger</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
2.spring的配置
<bean id="logAspect" class="com.brmayi.aspect.LogPrintAspect">
<aop:config>
<aop:aspect id="aspectAOP" ref="logAspect" />
</aop:config>
日誌想要便於查看,目前都須要統一的日誌中心。日誌中心目前大公司都是本身實現。可是你們想要本身弄,靜兒原同事陽哥給你們提供了一個福利。陽哥以前就任於阿里,後回到樂視期間咱們同事一年,一塊兒作項目,跟陽哥學了不少東西。他目前作的開源日誌中心已經在樂視內部線上使用,穩定性有保證。
github地址:https://github.com/guoyang1982/woodpecker-client。若是你們有什麼不明白的。其中起來,我也能夠請他給你們講解一下。
一個技術的成功每每是一種營銷的成功。好比docker、k8s。k8s火了以後,docker一看本身的地位將不保,就說:
因此docker是一個標準的k8s的CRI實現。這實爲明智之舉。也是我輩在工做和生活中均可以借鑑的一個合做雙贏的道理。
關於做者
靜兒,20歲時畢業於東北大學計算機系。在畢業後的第一家公司因爲出衆的語言天賦,在1年的時間裏從零開始學日語並以超高分經過了國際日語一級考試,擔當兩年日語翻譯的工做。後就任於人人網,轉型作互聯網開發。中國科學院心理學研究生。有近百個技術發明專利,創業公司合夥人。有日本東京,美國硅谷技術支持經驗。目前任美團點評技術專家(歡迎關注靜兒的我的技術公衆號:編程一輩子),心法文章可參考個人《自動化管理之新人培養》
技術交流可關注個人github:https://github.com/xiexiaojing
關注靜兒公衆號,不按期漫畫技術推送~