Log4j 是Apache的壹個開放源代碼項目,通過使用Log4j,我們可以控制日誌信息輸送的目的地是控制臺、文件、GUI組件、甚至是套接口服務器、NT的事件記錄器、UNIX Syslog守護進程等;我們也可以控制每壹條日誌的輸出格式;通過定義每壹條日誌信息的級別,我們能夠更加細致地控制日誌的生成過程。最令人感興趣的就是,這些可以通過壹個配置文件來靈活地進行配置,而不需要修改應用的代碼。
此外,通過Log4j其他語言接口,您可以在 C、C++、.Net、PL/SQL程序中使用Log4j,其語法和用法與在Java程序中壹樣,使得多語言分布式系統得到壹個統壹壹致的日誌組件模塊。而且,通過使用各種第三方擴展,您可以很方便地將Log4j集成到J2EE、JINI甚至是SNMP應用中。
Log4j的優勢a、日誌輸出的目的地,輸出到控制臺的速度比輸出到文件系統的速度要慢。
b、日誌輸出格式不壹樣對性能也會有影響,如簡單輸出布局(SimpleLayout)比格式化輸出布局(PatternLayout)輸出速度要快。可以根據需要盡量采用簡單輸出布局格式輸出日誌信息。
c、日誌級別越低輸出的日誌內容就越多,對系統系能影響很大。
d、日誌輸出方式的不同,對系統系能也是有壹定影響的,采用異步輸出方式比同步輸出方式性能要高。
e、每次接收到日誌輸出事件就打印壹條日誌內容比當日誌內容達到壹定大小時打印系能要低。