您和您所在的開發團隊都是怎麼列印日誌的?又是怎麼使用日誌的

時間 2021-06-19 10:11:18

1樓:周娛娛雨御與漁

上一次面試的時候,有個問題印象很深刻。

面試官問:如果讓你接手負責公司的乙個web專案,在你並不是十分透徹了解系統的前提下,運營人員反饋出來乙個「頁面載入過慢」的bug,如何快速定位問題?

我當時思考了一會兒,回答首先通過「Web開發工具」,確定網頁載入慢的原因是來自於前端靜態資源問題,還是後端資料介面;常見的,如果是執行了一段時間的系統突然發生載入過慢的問題,一般都是後台資料介面的問題。

然後,接下來確定具體載入過慢的資料介面,然後查介面的邏輯,是否存在外部依賴?是否存在資料庫操作?是否存在檔案操作?等等可能影響程式運營速度的關鍵點。

然後通過debug、打斷點等方式最終確定問題。

當時這麼回答,是基於我對「日誌」這個神器不了解的前提。入職之後,還真遇到了乙個類似的問題。運營人員反饋管理後台的某個頁面資料載入過慢,在我確定具體問題介面之後,開啟原始碼,是個巨複雜的邏輯處理介面...

於是我問了一下當時面試我的大神,有什麼好的方式確定問題,得到的回答就三個字——「查日誌」。

言歸正傳,回到今天我們所要思考的問題:

我們為什麼要記日誌呢?

「屁股決定腦袋」,在每乙個專案的開發中,往往都會遇到「工期緊」的問題,對於開發人員來說,記日誌,是一件比較瑣碎小事,而且「日誌寫的好又不會加工資」...所以會常常少記甚至不記日誌;而對於專案的運維人員或者使後續的接手人員來說,舊有專案的日誌是否完善,是後續對維護成本很大的影響。

總的來講,記日誌這件事情,有來自如下幾個方面的需求:

追蹤程式執行過程,快速定位問題記錄分析執行資料,便於後續版本統計優化分析使用者行為資料,便於做使用者運營甚至有些時候,記錄使用者行為資料,是某些監管部門的要求

常見的,在我們的系統上線之後,一旦發生了問題,我們第一時間就需要知道「究竟發生了什麼」,這時候,日誌中記錄的「使用者操作、資料變化、環境異常」等等內容就是我們分析定位問題的第一手資料。

如果說,演算法、資料結構等內容是乙個程式設計師手中的劍的話,那麼「日誌」這種內容其實就相當於程式設計師手裡的盾了,在日常開發工作中,除了要常解決遇到的問題,如何避免後續發生的問題也是需要重點思考的。

嗯。。具體怎麼打,有時間再更。。

小時候父母都是怎麼打你的?

我小時候特別能頂嘴,很犟,我媽年輕的時候脾氣又很暴躁,經常一言不合就吵了起來,我媽就啪啪大嘴巴子連著扇,打得我疼得不行,臉上火辣辣的,過一會不疼了又開始頂嘴,我媽又啪啪一連串大嘴巴子上來了,最嚴重的一次我好像被我媽打了一百多個耳光,我頂一句嘴,我媽就扇一巴掌,頂一句,扇一巴掌,還有二年級一次,我媽直...

男人打女人怎麼樣都是不對的吧?

周天 首先,打人就是不對的。不論打男人還是打女人。根據你的論述,我判斷這個男人腦子裡根本就沒有不能打人這根弦。而且學體育的這方面尤其嚴重,劉翔在採訪中還曾經提過自己在體校的時候怎麼怎麼打架呢。但男人之間這種青春期的爭鬥很難說是對是錯。但涉及到女人身上就肯定是一種不尊重了。有這種傾向的人,你自己留在身...

團隊對抗體育運動的人數都是怎麼來的,為什麼那麼規定?

小月先生 體育運動的設立最開始是為了鍛鍊身體。隨著社會的發展,人們生活水平的提高,競技體育誕生了,競技體育就是為了豐富人們的生活而生的,極強的觀賞性就成為了他最大的特點之一。如何有觀賞性呢,合理的場地,合理的規則,然後就是場上運動員的安排了,既要保證比賽的觀賞性,又要減少運動員薪資的開支,保證利益最...