報錯:log4j日志異步化大幅提升系統性能
log4j:ERROR Document root element "log4j:configuration", ?must match DOCTYPE root "null".
解決:
Try adding this to the second line (the line below <?xml ...?>)...
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Log4J的數據庫寫入方式就是一個雞肋,沒有使用連接池,也不支持addBatch。
只是把用戶輸出的log現在一個ArrayList中保存,當其數量達到了BufferSize,才啟動寫日志。參看其源代碼(JDBCAppender.java)
可以考慮把org.apache.log4j.jdbc.JDBCAppender換掉。參考
http://wiki.springside.org.cn/display/SpringSide3/Log
springside3.*中log4j和java.util.concurrent的結合使用
把重要的業務日志異步批量寫入數據庫 LOG4J
用log4j把日志異步寫入數據庫中
log4j中再次看ThreadLocal用法