我已經建立LOG4CXX lib和DLL,並試圖在我的應用程序對象變爲空
Loh.h
class Log
{
public:
Log(void);
~Log(void);
void Debug(const char *msg);
private:
static LoggerPtr oLogger;
};
Log.cpp
LoggerPtr oLogger = NULL;
Log::Log()
{
LoggerPtr oLogger(Logger::getLogger("Test"));
PropertyConfigurator::configure("Logger4CXX.properties");
}
void CLogger::Debug(const char *msg)
{
if(oLogger != NULL)
{
LOG4CXX_DEBUG(oLogger,"Testing application...");
}
}
使用它在我的主,我初始化Log類對象並調用調試方法來記錄調試消息到文件。
我正面臨的問題是在if(oLogger != NULL
),它始終將oLogger作爲NULL返回。
任何人都可以提供任何幫助。
你還沒有在任何地方分配'Log :: oLogger'。 –
@MarceloCantos在我的代碼LoggerPtr oLogger(Logger :: getLogger(「Test」));正在完成將oLogger分配給其值的任務。 – user987316
根據下面的評論,我猜你現在已經知道那不是發生了什麼。 –