我有一個卡夫卡應(yīng)用程序,它從一個主題消費并寫入另一個主題。日志記錄是通過slf4j. 它將信息和錯誤記錄到單獨的文件中。我的應(yīng)用程序有問題,有時會遇到INVALID_FETCH_SESSION_EPOCH錯誤。問題是這個錯誤最終出現(xiàn)在我的信息文件中,并且應(yīng)用程序永遠(yuǎn)掛起并需要重新啟動。一種解決方案是找到這個與我現(xiàn)在的問題無關(guān)的無效紀(jì)元問題的根源。我的問題是如何檢查日志中是否有此錯誤并在發(fā)生錯誤時自動重新啟動應(yīng)用程序。我通過擴(kuò)展 Logger 和 ILoggerFactory 實現(xiàn)了自己的自定義記錄器,但它們?nèi)匀粺o法檢查此錯誤。看來Kafka使用了不同的Logger來編寫它。我也無法檢查日志文件,因為它們是由滾動策略創(chuàng)建的,并且實施起來會很麻煩。無論如何,在寫入之前,我的信息文件中的內(nèi)容是否可以通過我的自定義方法進(jìn)行檢查?
1 回答

慕勒3428872
TA貢獻(xiàn)1848條經(jīng)驗 獲得超6個贊
我在日志中添加了自定義過濾器。在此過濾器中,我檢查消息,每當(dāng)消息包含時,INVALID_FETCH_SESSION_EPOCH
我都會調(diào)用一個重新啟動應(yīng)用程序的方法。
添加回答
舉報
0/150
提交
取消