Log4cxx выдает ошибку в log4cxx/logger.hC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Log4cxx выдает ошибку в log4cxx/logger.h

Сообщение Anonymous »


У меня есть программа Qt, которую я обновляю, и у нее неадекватная система журналирования (которая регистрируется в системном журнале), поэтому я хочу использовать Log4cxx (я новичок в Log4cxx). Я попробовал некоторые примеры на веб-странице (https://logging.apache.org/log4cxx/late ... mples.html)

Я попытался настроить основные вызовы в своей программе, но у меня возникли следующие 2 ошибки, которые я не понимаю.

/usr/include/log4cxx/logger.h:1357: ошибка: «LevelPtr» не называет тип void log(const LevelPtr& level, const std::string& message, /usr/include/log4cxx/logger.h:1358: ошибка: неверное использование '::' const log4cxx::spi::LocationInfo& location) const; Эта ошибка возникает из моего файла Input.cpp, который вызывает файл AppLog.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 .

Любые идеи приветствуются.

Спасибо.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»