轉(zhuǎn)自:http://monkeycn.iteye.com/blog/1021703
#1 Log4cxx有比較完整的配置文檔方式,xml和java配置檔;GLog只能通過啟動程序的時候的輸入?yún)?shù)來配置;
#2 GLog單獨寫文件的效能比Log4cxx高15%左右;但是GLog寫stderr的效能低于Log4cxx;
#3 GLog同時寫stderr和文件的效能比Log4cxx低;
#4 兩者占用cpu和內(nèi)存情況基本相同;
#5 二者都支持c的printf和c++的stream類型的輸出形式;
#6 二者在多線程下都有辦法做到當(dāng)前線程的log輸出是連續(xù)的;
#7 Log4cxx目前可以輸出到console、file、remote server和一些特殊的設(shè)備,GLog只能做到前兩者;
#8 Log4cxx結(jié)構(gòu)設(shè)計很清晰,logger(層級logger),appender(輸出源)和layout(格式化)配合配置文件無論是理解還是使用都比較容易;GLog目前看是一個比Log4cxx輕量級的庫,它只是針對console和文件設(shè)計的,只是天生支持一些特殊的條件輸出log的功能;
#9 Log4cxx支持層級logger,可以使用這個概念方便的對每個class(包括其名字空間)為基礎(chǔ)設(shè)計每個class的logger,輸出的時候?qū)蛹壓苊黠@;GLog沒有這
樣的功能。
#2 GLog單獨寫文件的效能比Log4cxx高15%左右;但是GLog寫stderr的效能低于Log4cxx;
#3 GLog同時寫stderr和文件的效能比Log4cxx低;
#4 兩者占用cpu和內(nèi)存情況基本相同;
#5 二者都支持c的printf和c++的stream類型的輸出形式;
#6 二者在多線程下都有辦法做到當(dāng)前線程的log輸出是連續(xù)的;
#7 Log4cxx目前可以輸出到console、file、remote server和一些特殊的設(shè)備,GLog只能做到前兩者;
#8 Log4cxx結(jié)構(gòu)設(shè)計很清晰,logger(層級logger),appender(輸出源)和layout(格式化)配合配置文件無論是理解還是使用都比較容易;GLog目前看是一個比Log4cxx輕量級的庫,它只是針對console和文件設(shè)計的,只是天生支持一些特殊的條件輸出log的功能;
#9 Log4cxx支持層級logger,可以使用這個概念方便的對每個class(包括其名字空間)為基礎(chǔ)設(shè)計每個class的logger,輸出的時候?qū)蛹壓苊黠@;GLog沒有這
樣的功能。
另外補(bǔ)充幾點:
* log4cxx 可在運行中更改日志輸出,如更改日志等級,輸出文件,實際上是日志配置文件更改后會重新讀取。
* log4cxx 可異步輸出,所以日志IO輸出不會拖慢主程序。