記錄一次日誌列印錯誤,日期錯亂的排坑過程

2021-09-25 18:03:19 字數 1191 閱讀 4432

現象:

本地日誌配置採用log4j,配置檔案如下:

正常日誌列印應該是:今天info日誌打在server.log裡,到第二天,假如是2019-07-30,昨天的日誌應該重新命名為server.log.2019-07-29,今天日誌照常列印在server.log裡

然而,詭異的是,2019-07-30當天的線上日誌列印在了2019-07-29,而2019-07-29日的日誌歸檔到了server.log.2019-07-28

讓人摸不著頭腦的是,我專案裡明明沒有配置過 server.2019-07-29這種格式,server.error這種格式

在本地、測試伺服器多次測試列印也沒有復現這種現象,而且線上機器重啟後又是正常的,問題出在每天凌晨分割日誌時

我一直懷疑是見鬼了,難道是機器的問題??於是耽擱了幾天。。

後來運維催的急,把線上的包down下來後發現我的包裡有兩個日誌配置檔案:logback.xml與log4j.xml

開啟logback.xml檔案終於知道線上日誌列印的原因了

最後定位到這個包是我專案裡依賴的乙個第三方包裡生成的,問題也是我7月24號上線引入這個包後才發生的

知道原因之後,就好解決了,找生成包的提供者,讓它打包時把logback.xml這個配置檔案給排除掉就好了

1.引用第三方包時,很容易出現包衝突問題,畢竟很多基礎的包都是互相依賴的。同時,之前一直忽略的,引用包時要注意有沒有配置檔案,以防和自己的配置檔案衝突

2.排查問題時,需要不斷追究問題本質。比如我一直覺得我的日誌配置沒有問題,而且線上也沒有改動過,上線的都是業務**,應該沒啥影響。。萬萬沒想到,果然還是新上線**引入的jar包引起的,所以對比**,思考區別和聯絡很重要

3.至於為什麼線上會優先讀取logback.xml,,logback和log4j有什麼區別和聯絡,這個還有待深入了解,或者有大佬看到後能解釋下

LogMiner步驟 記一次日誌挖掘的測試

1 進行初始化設定 開啟附加日誌,設定logminer的表空間,設定utl file dir引數的值 sql create directory utlfile as d oracle oradata practice logmnr sql alter system set utl file dir ...

一次清除SQL SERVER錯誤日誌的體會!

之前在uat環境搭建的sql server 2008 r2資料庫一直用得比較正常,但最近發現在sharepoint中不能進行任何操作了,開始以為是什麼配置出了問題 因為一直在研究一些新的應用和整合,需要不斷地測試 但後來發現是資料庫硬碟沒用一點空間了,那麼自然是不能存任何資料了,所以最先開始清理一些...

一次清除SQL SERVER錯誤日誌的體會!

之前在uat環境搭建的sql server 2008 r2資料庫一直用得比較正常,但最近發現在sharepoint中不能進行任何操作了,開始以為是什麼配置出了問題 因為一直在研究一些新的應用和整合,需要不斷地測試 但後來發現是資料庫硬碟沒用一點空間了,那麼自然是不能存任何資料了,所以最先開始清理一些...