以下是场景:
我有一个有main功能的testApp.cpp。并且这个testApp.cpp使用了misc.dll和common.dll库。
我想创建一个日志文件,而不是控制台。
因此,在testApp.cpp main()函数中,我使用了以下内容:
pantheios::pantheios_init();
pantheios_be_file_setFilePath("mylogfile.log");
pantheios::log_NOTICE(" START TESTAPP");
// Call function from misc.dll and common.dll
pantheios::log_NOTICE(" END TESTAPP ");
pantheios_be_file_setFilePath(NULL);这将创建内容为“START TESTAPP”的mylogfile.log文件。
现在的问题是:
我还想将misc.dll和common.dll的日志记录添加到mylogfile.log中。换句话说,如果我将日志添加到misc.dll中testMiscfunction()中,我希望将来自testMiscfunction()的日志写入mylogfile.log。当然,common.dll也是如此。
下面是misc.dll的DLL条目示例
#include "pantheios/pantheios.hpp"
#include "pantheios/backends/bec.file.h"
#include "pantheios/implicit_link/core.h"
#include "pantheios/implicit_link/be.file.h"
extern "C" const char PANTHEIOS_FE_PROCESS_IDENTITY[] = "MISC_DLL";
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
pantheios::pantheios_init();
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
pantheios::pantheios_uninit();
break;
}
return TRUE;
}所以现在在
testMiscFunction() { pantheios::log_NOTICE("I am testMiscFunction"); } 所以“我是testMiscFunction”不是写给mylogfile.txt的问题是:为什么?需要做的事情。
谢谢……
发布于 2011-01-27 04:19:26
DLL应该动态链接到Pantheios,因此它们将使用相同的数据。在这种情况下,您不需要从DLL入口点调用Pantheios init/uninit函数(这可能是一个坏主意)。
https://stackoverflow.com/questions/4799579
复制相似问题