У меня есть программа Qt, которую я обновляю, и у нее неадекватная система журналирования (которая регистрируется в системном журнале), поэтому я хочу использовать Log4cxx (я новичок в Log4cxx). Я попробовал некоторые примеры на веб-странице (https://logging.apache.org/log4cxx/late ... mples.html)
Я попытался настроить основные вызовы в своей программе, но у меня возникли следующие 2 ошибки, которые я не понимаю.
/usr/include/log4cxx/logger.h
#ifndef LOG_H #определить LOG_H #include #include #include #include #include //ЗДЕСЬ ОШИБКА #include #include #include #include #include /*! * @brief Настройка ведения журнала и уровня журнала в системном журнале. Все сообщения журнала записываются в системный журнал. */ класс Q_Log { публика: статический Q_Log *getInstance(); частный: Q_Журнал(); статический Q_Log *_instance; статический log4cxx::LoggerPtr регистратор; }; #endif AppLog.cpp
#include "AppLog.h" #include использование пространства имен log4cxx; использование пространства имен log4cxx::helpers; Q_Log *Q_Log::_instance = 0; Q_Log::Q_Log() { QString name = "PROGRAM_CONVERTER_" + QCoreApplication::arguments().at(1); char* p = новый char[name.length() + 1]; strcpy(p, name.toLatin1().constData()); Базовыйконфигуратор::configure(); LoggerPtr rootLogger = Logger::getRootLogger(); logger = log4cxx::LogManager::getLogger(p); LOG4CXX_INFO(регистратор, "Вход в приложение."); } Q_Log *Q_Log::getInstance() { если (_экземпляр == 0) { _instance = новый Q_Log(); } вернуть _экземпляр; } Моя строка libs в файле .pro
LIBS += -lapr-1 -laprutil-1 -llog4cxx-1 У меня установлены log4cxx и log4cxx-devel, и qmake работает правильно.
Я пробовал включить много разных файлов заголовков для log4cxx, которые не указаны в примере, но та же ошибка не исчезла. У меня нет вызовов какой-либо функции log() и в коде нет #include .
Любые идеи приветствуются.
Спасибо.
Мобильная версия