如何使用C ++中的DLL API中的徽标来获取日志

时间:2012-09-05 06:10:58

标签: c++ error-logging

如何在DLL API中编写日志?

在我的程序中,我使用两个线程和一个主线程。我正在初始化:

LOGOG_INITIALIZE();

logog::LogFile errFile("log.txt");

进入我的主线程并在主线程中使用INFOERR其他两个线程。我的主要线程是使用C ++ DLL API。我完全从主线程和另外两个正在运行的线程获取日志,但我的问题是我无法从DLL API的流程获取日志。如何使用DLL API中的logog获取日志。如果我在DLL API中使用INFO,我想在此处清楚。它崩溃但是如果我在DLL API中LOGOG_INITIALIZE();执行INFO,则执行但不记录任何内容。

1 个答案:

答案 0 :(得分:0)

如果我认为它是正确的,您的情况如下:例如,您有一个使用共享库(DLL)的应用程序(EXE)。从EXE和DLL两者中,您希望能够记录。

上次我检查了logog库,我遇到了上述情况的问题。也许现在它被纠正了?

在Windows下(仅限!),logog库不会导出任何符号 - 它根本不准备用作DLL。这会强制您构建并使用logog作为静态库 - 这会导致logog库中的静态变量出现问题,这些变量应该只存在一次,但实际上存在的次数与静态库的存在次数相同。链接到模块(EXE或DLL)。

解决方案是构建并使用logog库作为DLL。

也许这可以解决您的问题,您可能会努力导出logog库的符号。或者你可以与图书馆作家联系。