開源日志系統(tǒng)log4cplus(一) 簡介、下載、 安裝、使用前的配置
開源日志系統(tǒng)log4cplus(二) 基本使用
開源日志系統(tǒng)log4cplus(三) 如何控制輸出消息的格式
(Layout)
開源日志系統(tǒng)log4cplus(四) 如何將log記錄到文件
開源日志系統(tǒng)log4cplus(五) 優(yōu)先級控制、基于腳本配置來過濾log信息
開源日志系統(tǒng)log4cplus(六) 一些可以改進(jìn)之處
開源日志系統(tǒng)log4cplus(七) NDC、線程 、套接字
按照以上方法使用時,單線程中使用沒有問題,但多線程時,運行時,在Logger::getIntXXX時出現(xiàn)錯誤:
ONLYONCEXXXX的錯誤。
調(diào)用流程如下:
Dlg的初始化函數(shù)中:
char szlogname[] = "log1";
做好Logger的初始化工作,目的為一個文件。
在線程中:
char szlogname[] = "log1.tid";
// 每個線程的tid不同
Logger::getInstXXXX;
……
在線程中,會調(diào)用到一個Dlg的函數(shù):
char szlogname[] = "log1.tid";
// 這個tid等于調(diào)用線程的tid
Logger::getInstXXXX; // 這里出錯!!!!!一運行到這里,就進(jìn)入Debug模式。
……
不知道是什么地方出現(xiàn)了問題???