log4qt使用示例

    在使用log4qt的時候,我們常常需要涉及日誌分類,按模塊和按級別輸出到不同目的地。本人借花獻佛,將一朋友在論壇中成功記錄在此,方便大夥查閱。

腳本配置

# Libfetion-gui project
# define the root logger with two appenders writing to console and file
 log4j.rootLogger =DEBUG,Console
####outputlog to console#########
#define the appender named CONSOLE
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p %x %m%n
 
log4j.logger.A1=DEBUG,CONSOLE,A1
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=logs/a1.txt
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

log4j.logger.A2=DEBUG,CONSOLE,A2 
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.File=logs/a2.txt
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n


log4j.logger.A3=DEBUG,CONSOLE,A3 
log4j.appender.A3=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A3.File=logs/a3.txt
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n


  這裏定義了Console、A1、A2、A3共計3個擴展器,可分別輸出到控制檯、logs/a1.txt、logs/a2.txt、logs/a3.txt中。

  它們是通過定義不同的logger來做到不同位置和級別定位的。由於logger帶名稱(如A1),也可以爲特定重要模塊定義自有的日誌。

問題:不知道Console輸出到什麼地方去了!?

調用示例

Log4Qt::BasicConfigurator::configure();
Log4Qt::PropertyConfigurator::configure(QCoreApplication::applicationDirPath() + "/log4qt.properties");

Log4Qt::Logger *a1 = Log4Qt::Logger::logger("A1");
al->info("the message of log");//the log save at logs/a1.log 

Log4Qt::Logger *a2 = Log4Qt::Logger::logger("A2");
a2->info("the message of log");//the log save at logs/a2.log 

Log4Qt::Logger *a3 = Log4Qt::Logger::logger("A3");
a3->info("the message of log");//the log save at logs/a3.log


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章