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