2013-08-23 42 views
5

Tôi mới dùng log4cplus. Tôi có cấu hình sau:Tại sao các thư trùng lặp được ghi lại

log4cplus.rootLogger=TRACE, STDOUT 

log4cplus.logger.zios.utl.Thread=DEBUG, STDOUT 

log4cplus.appender.STDOUT=log4cplus::ConsoleAppender 
log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout 
log4cplus.appender.STDOUT.layout.ConversionPattern=%d{%H:%M:%S} [%t] - %m%n 

mà tôi tải với đoạn mã sau:

try { 
    log4cplus::PropertyConfigurator::doConfigure("log4cplus.properties"); 
} catch (...) { 
    cout << "exception occured while opening log4cplus.properties" << endl; 
} 

Nó tải mà không cần sự cố nhưng bất cứ khi nào tôi đăng nhập một cái gì đó, tôi nhận được hai thông điệp xuất hiện trong nhật ký của tôi. Ví dụ, tôi đăng nhập sử dụng mã này:

Logger log = Logger::getInstance("zios.utl.Thread"); 
LOG4CPLUS_DEBUG(log, "Thread created"); 

và những gì xuất hiện trong bản ghi là:

17:10:48 [3075459952] - Thread created 
17:10:48 [3075459952] - Thread created 

Bất cứ ý tưởng tại sao điều này đang xảy ra?

Trả lời

3

Bạn có một appender và bạn sử dụng nó hai lần, vì hai logger:

log4cplus.rootLogger=TRACE, STDOUT 
log4cplus.logger.zios.utl.Thread=DEBUG, STDOUT 

Điều này có nghĩa rằng appender được gắn vào logger gốc và zios.utl.Thread logger.

Các vấn đề liên quan