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