在使用console的时候可直接使用log4cxx,但如果带MFC图形界面的话,就不会出现console的窗口,这样就不方便实时查看log的输出。
为了实现单独console输出log信息,可在VS中进行设置:Project Properties -> Build Events -> Command Line 下输入
editbin /SUBSYSTEM:CONSOLE $(OUTDIR)\$(TargetName).exe
从而就在程序运行的时候可有一个单独的console用来输出log信息,还可以输出printf和cout的内容。
至于使用AllocConsole()的方法,对printf和cout有效,而对log4cxx无效。
下面给出一段实例代码。
引用头文件:
#include "log4cxx/logger.h"
#include "log4cxx/PropertyConfigurator.h"
#include "log4cxx/helpers/exception.h"
下面代码加到窗口类的OnInitDialog()函数里:
const char* Property = "E:\\log4cxx.properties";
PropertyConfigurator::configure(Property);
logger = Logger::getRootLogger();
logger->setLevel(Level::getAll());
LOG4CXX_INFO(logger, ("Logger begin."));