如何在DLL API中编写日志?
在我的程序中,我使用两个线程和一个主线程。我正在初始化:
LOGOG_INITIALIZE();
logog::LogFile errFile("log.txt");
进入我的主线程并在主线程中使用INFO
,ERR
其他两个线程。我的主要线程是使用C ++ DLL API。我完全从主线程和另外两个正在运行的线程获取日志,但我的问题是我无法从DLL API的流程获取日志。如何使用DLL API中的logog获取日志。如果我在DLL API中使用INFO
,我想在此处清楚。它崩溃但是如果我在DLL API中LOGOG_INITIALIZE();
执行INFO
,则执行但不记录任何内容。
答案 0 :(得分:0)
如果我认为它是正确的,您的情况如下:例如,您有一个使用共享库(DLL)的应用程序(EXE)。从EXE和DLL两者中,您希望能够记录。
上次我检查了logog库,我遇到了上述情况的问题。也许现在它被纠正了?
在Windows下(仅限!),logog库不会导出任何符号 - 它根本不准备用作DLL。这会强制您构建并使用logog作为静态库 - 这会导致logog库中的静态变量出现问题,这些变量应该只存在一次,但实际上存在的次数与静态库的存在次数相同。链接到模块(EXE或DLL)。
解决方案是构建并使用logog库作为DLL。
也许这可以解决您的问题,您可能会努力导出logog库的符号。或者你可以与图书馆作家联系。