Форум программистов, компьютерный форум CyberForum.ru

Qt

Войти
Регистрация
Восстановить пароль
 
SkaDi
4 / 4 / 1
Регистрация: 30.09.2015
Сообщений: 90
#1

Функция-логер - C++ Qt

10.01.2017, 10:17. Просмотров 195. Ответов 4
Метки нет (Все метки)

такой вопросик, хочу написать для себя чтото типа логера.
Сделал клас, в нем метод для записи в файл,
вопрос в том можно ли както внутри метода этого класса, узнать информацию о том месте откуда она была вызвана.

сейчас сделал метод принимающий значения __LINE__, __FUNCTION__, __FILE__,текстовый комент , а хочется чтобы небыло нужды прописывать эти макросы при каждом вызове, а просто писать комент.


что то вроди "QObject *sender1=dynamic_cast<QObject>(sender());" для сигналов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2017, 10:17     Функция-логер
Посмотрите здесь:

функция типа структуры C++ Qt
Не работает простейшая функция C++ Qt
Функция не возвращает значение C++ Qt
не работает функция из OpenGL C++ Qt
Автокликер! Какая функция? C++ Qt
C++ Qt Лямбда-функция
Функция загрузки изображения C++ Qt
Что делает функция? C++ Qt

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wyn
Модератор
933 / 514 / 193
Регистрация: 14.01.2016
Сообщений: 1,715
Записей в блоге: 9
10.01.2017, 11:32     Функция-логер #2
Цитата Сообщение от SkaDi Посмотреть сообщение
сейчас сделал метод принимающий значения __LINE__, __FUNCTION__, __FILE__,текстовый коммент , а хочется чтобы небыло нужды прописывать эти макросы при каждом вызове, а просто писать комент.
Открой для себя волшебный мир макросов и define. И переопредели с его помощью функцию:
C++ (Qt)
1
#define newFunction(TEXT) oldFunction(__LINE__, __FUNCTION__, __FILE__, TEXT)
SkaDi
4 / 4 / 1
Регистрация: 30.09.2015
Сообщений: 90
16.01.2017, 10:35  [ТС]     Функция-логер #3
Цитата Сообщение от Wyn Посмотреть сообщение
Открой для себя волшебный мир макросов и define. И переопредели с его помощью функцию:
C++ (Qt)Выделить код
1
#define newFunction(TEXT) oldFunction(__LINE__, __FUNCTION__, __FILE__, TEXT)
как вариант чтобы не писать каждый раз длинный вызов, подойдет(хотя , если я все правильно понял, прийдется прописывать дефайны для каждого класса.файла, где будет использоваться логер), но не совсем то что я хотел бы.
хотелось бы, чтобы вызванная функция внутри себя собирала эту инфу.
Но, все равно спасибо за ответ
Wyn
Модератор
933 / 514 / 193
Регистрация: 14.01.2016
Сообщений: 1,715
Записей в блоге: 9
16.01.2017, 12:30     Функция-логер #4
Цитата Сообщение от SkaDi Посмотреть сообщение
хотелось бы, чтобы вызванная функция внутри себя собирала эту инфу.
В С++ такой магии нет.

Добавлено через 2 минуты
Цитата Сообщение от SkaDi Посмотреть сообщение
если я все правильно понял, прийдется прописывать дефайны для каждого класса.файла, где будет использоваться логер
Нет, достаточно один раз прописать данную функцию в заголовочном файле логера.
SkaDi
4 / 4 / 1
Регистрация: 30.09.2015
Сообщений: 90
16.01.2017, 15:42  [ТС]     Функция-логер #5
Цитата Сообщение от Wyn Посмотреть сообщение
В С++ такой магии нет.
Жаль, хотя ладно можно и на макросах прожить
Цитата Сообщение от Wyn Посмотреть сообщение
Нет, достаточно один раз прописать данную функцию в заголовочном файле логера.
угу, до этого сам допетрил в скоре)) спасибо за помощь
Yandex
Объявления
16.01.2017, 15:42     Функция-логер
Ответ Создать тему
Опции темы

Текущее время: 09:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru