java實現日誌服務

2021-09-08 20:47:20 字數 615 閱讀 7090

我們在伺服器程式中經常用到日誌,日誌對於我們排查問題有很大的幫助。

下面是日誌服務的思路以及實現

思路:多個生產者單個消費者的設計方式,每個呼叫log的操作都相當於乙個生產者,而後台的日誌執行緒則相當於消費者。

public class loggerservice 

public void start()

public void stop()

loggerthread.interrupt();

} public void log(string msg) throws interruptedexception

++reservations;

} queue.put(msg);

} private class loggerthread extends thread

}string msg = queue.take();

synchronized (loggerservice.this)

writer.println(msg);

} catch (interruptedexception e) finally

}} }

}

平台日誌服務實現思路

每個業務系統都需記錄操作日誌的共性,現狀是每個業務系統都需要記錄在自己的資料庫中 如叢林系統操作日誌 會存在重複建設問題。有些系統還沒有操作日誌,如專題 廣告 配置系統等。部分的業務系統操作記錄資料量不算太大,但是記錄是很有必要的,可以排查問題等。不排除以後會快速增長,如果還記錄在自己業務系統的資料...

docker中實現服務日誌輪轉

通常我們乙個完整的應用映象有兩部分組成,乙個是執行時環境,乙個是應用程式。我們以php應用為例,乙個完整的php應用需要包含openresty php兩個服務來配置執行時環境,然後再加上php 來完成一整個php應用的發布。php 產生的日誌由程式自行控制,一般都會按天滾動,在日誌量較大的情況下,也...

java重定向輸出實現日誌功能

最近做了個很奇怪的功能,用system.out.println 重定向輸出功能代替日誌功能。就算是實現個簡易的日誌功能吧。將輸出日誌列印到log.txt裡面 file file new file log.txt outputstream os new outputstream file,true p...