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

Qt

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

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

10.01.2017, 10:17. Просмотров 226. Ответов 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):

Spring: выключить логер / перенастроить его на стандартный логер - Java EE
У меня на клиентской стороне нужен спринг (так уж мне захотелось чтобы я не руками всё в xml гонял да парсил, а использовал для этого...

Отличный к-логер - Delphi
Друзья давайте напишем нормальный к логер ,кому интересно?

Логер интернет-активности. - Системный софт
Всем привет!Ищу программу,которая отслеживала бы активность программ,в частности их интернет-запросы(даже системные).Т.е запускаю...

Функция sqrt: существует более одного экземпляра. Функция перегруженная - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; int main(){ float s, p; int c, a; s=0; ...

Функция удаления текста в скобках [2], непосредственно функция + 12кб вложений - C++
Доброго времени суток, случилось так, что пришлось работать с с-строками (лаба, угу), в которой нужно удалить весь текст в скобках,...

Перегрузка операций: friend-функция или функция-член класса - C++
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и friend. Вот к примеру такой код. class...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Wyn
Модератор
1026 / 607 / 228
Регистрация: 14.01.2016
Сообщений: 1,974
Записей в блоге: 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
Модератор
1026 / 607 / 228
Регистрация: 14.01.2016
Сообщений: 1,974
Записей в блоге: 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 Посмотреть сообщение
Нет, достаточно один раз прописать данную функцию в заголовочном файле логера.
угу, до этого сам допетрил в скоре)) спасибо за помощь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2017, 15:42
Привет! Вот еще темы с ответами:

какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() - C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()

Выясните, сохраняет ли булева функция 0, 1, является ли функция линейной, монотонной, само двойственной? - Дискретная математика
Помогите пожалуйста!!! Булева функция задана вектором значений F(x)=(1001) Выясните, сохраняет ли эта функция 0, 1, является ли эта...

Функция - Pos(s,s1). Назначение - поиск первого вхождения подстроки s1 в строку s (аналогичная функция C - strstr) - C (СИ)
Функция - Pos(s,s1). Назначение - поиск первого вхождения подстроки s1 в строку s (аналогичная функция C - strstr).Помогите плииз

Функция нахождения максимума в строке матрицы и функция вычисления ||D|| - Pascal
Помогите написать программу. Заранее спасибо. Даны вещественные матрицы A, B, C размером 5x6. Вычислить величину ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.01.2017, 15:42
Ответ Создать тему
Опции темы

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