Как написать лог внутри DLL API?
В моей программе я использую два потока с одним основным потоком. Я инициализирую:
LOGOG_INITIALIZE();
logog::LogFile errFile("log.txt");
В мою основную ветку и используя INFO
, ERR
в основной теме остальные две темы. Мой основной поток использует API C ++ DLL. Я прекрасно получаю журнал из основного потока и двух других работающих потоков, но моя проблема в том, что я не могу получить журнал из потока API DLL. Как получить журнал с помощью журнала в DLL API. Я хотел бы уточнить здесь, если я использую INFO
в DLL API. это сбой, но если я сделаю LOGOG_INITIALIZE();
внутри DLL API, INFO
выполняет, но ничего не регистрирует.
Если я правильно понял, ваша ситуация выглядит следующим образом: У вас есть, например, одно приложение (EXE), которое использует общую библиотеку (DLL). Из обоих, EXE и DLL, вы хотите иметь возможность войти.
В прошлый раз я проверил logog Библиотека, в которой у меня проблемы с ситуацией, описанной выше. Может быть, теперь это исправлено?
Под окнами (только!) logog библиотека не экспортирует никаких символов — она просто не готова для использования в качестве DLL. Это заставляет вас строить и использовать logog как статическая библиотека — что приводит к проблемам со статическими переменными внутри logog библиотека, которая должна существовать только один раз, но на самом деле существует столько раз, сколько статическая библиотека была связана с модулем (EXE или DLL).
Решение будет заключаться в создании и использовании logog библиотека как DLL.
Может быть, это покрывает вашу проблему, и вы можете предпринять усилия для экспорта символов logog библиотека. Или вы можете связаться с автором библиотеки.
Других решений пока нет …