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

How to get log by using logog in DLL API's in C++

本文关键字:日志 获取 API C++ 中的 DLL      更新时间:2023-10-16

如何在DLL API中写入日志?

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

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

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

如果我得到正确的答案,您的情况如下:例如,您有一个使用共享库(DLL)的应用程序(EXE)。通过EXE和DLL,您希望能够登录。

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

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

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

也许这涵盖了您的问题,您可能需要努力导出logog库的符号。或者你可以联系图书馆的作者。