0
我正在使用logback,我需要將客戶端查詢的所有數據記錄到日誌文件中。所有客戶端查詢的數據都需要記錄到同一個文件中。在記錄過程只是看起來像如下:在java中記錄一個大尺寸的字符串
private static final OUTPUTFILELOGGER = Logger.getLogger(...);
String outputString = null;
try {
Map<String, Object> outputMap = doService(); // queries data requested by clients.
.... // do something after business logic..
outputLog = outputMap.toString(); // critical!!
} catch (Throwable e) {
handling exception
} finally {
OUTPUTFILELOGGER.info(outputString);
}
它通常工作得很好,但有時出現的OutOfMemoryError用的toString到outputMap變量呼叫時所請求的數據量太大,使一個字符串。
所以我想讓它在沒有任何問題的情況下以流的方式工作。我不知道如何有效和優雅地做到這一點。
有什麼想法?