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

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

Восстановить пароль Регистрация
 
SkaDi
3 / 3 / 0
Регистрация: 30.09.2015
Сообщений: 86
10.01.2017, 10:17     Функция-логер #1
такой вопросик, хочу написать для себя чтото типа логера.
Сделал клас, в нем метод для записи в файл,
вопрос в том можно ли както внутри метода этого класса, узнать информацию о том месте откуда она была вызвана.

сейчас сделал метод принимающий значения __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
Модератор
496 / 375 / 147
Регистрация: 14.01.2016
Сообщений: 1,348
Записей в блоге: 8
10.01.2017, 11:32     Функция-логер #2
Цитата Сообщение от SkaDi Посмотреть сообщение
сейчас сделал метод принимающий значения __LINE__, __FUNCTION__, __FILE__,текстовый коммент , а хочется чтобы небыло нужды прописывать эти макросы при каждом вызове, а просто писать комент.
Открой для себя волшебный мир макросов и define. И переопредели с его помощью функцию:
C++ (Qt)
1
#define newFunction(TEXT) oldFunction(__LINE__, __FUNCTION__, __FILE__, TEXT)
SkaDi
3 / 3 / 0
Регистрация: 30.09.2015
Сообщений: 86
16.01.2017, 10:35  [ТС]     Функция-логер #3
Цитата Сообщение от Wyn Посмотреть сообщение
Открой для себя волшебный мир макросов и define. И переопредели с его помощью функцию:
C++ (Qt)Выделить код
1
#define newFunction(TEXT) oldFunction(__LINE__, __FUNCTION__, __FILE__, TEXT)
как вариант чтобы не писать каждый раз длинный вызов, подойдет(хотя , если я все правильно понял, прийдется прописывать дефайны для каждого класса.файла, где будет использоваться логер), но не совсем то что я хотел бы.
хотелось бы, чтобы вызванная функция внутри себя собирала эту инфу.
Но, все равно спасибо за ответ
Wyn
Модератор
496 / 375 / 147
Регистрация: 14.01.2016
Сообщений: 1,348
Записей в блоге: 8
16.01.2017, 12:30     Функция-логер #4
Цитата Сообщение от SkaDi Посмотреть сообщение
хотелось бы, чтобы вызванная функция внутри себя собирала эту инфу.
В С++ такой магии нет.

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

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