|
|
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
Может есть простой вариант как залогировать метод вызвавший событие или залогировать кусок трейса? В интернетах либо "пиши все сам через шаблоны и кучу кода" либо предлагают в каждый метод добавлять константу описывающую имя этого метода что вообще ахтунг. Сейчас примерно так как в спойлере, таких юнитов довольно приличное количество. Меня не напрягает каждый раз кроме имени событии добавлять __func__, __FILE__; чтобы потом точно знать где клиент передает на сервер некорректные данные, но может есть вариант попроще и не передавать эти параметры, а использовать что-то другое? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2018, 12:07 |
|
||
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
Метод на макрос замени Код: plaintext 1. PS Не уверен что с методом такой фокус пройдет, если нет - сделай функциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2018, 12:16 |
|
||
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
CiplusorФункция записи пока самая примитивная Передача string по значению. Забавный способ получить тормоза на ровном месте. Используй осмысленные сообщения, лог потом читать будет проще. Но таки да, их придётся набирать ручками, каждое индивидуально. У меня лог пишется такой функцией: Код: sql 1. 2. 3. 4. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2018, 12:25 |
|
||
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
Большое спасибо, даже не подозревал что можно сделать макрос на заранее не созданный объект :) прописал в stdafx.h и вроде везде подхватилось Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2018, 12:30 |
|
||
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПередача string по значению. Забавный способ получить тормоза на ровном месте. Только учусь, читал что нативные типы можно передавать по значению, объекты по ссылке / указателю, но со строками пока очень все мутно, со временем разберусь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2018, 12:31 |
|
||
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
в boost.log кажется есть возможность выводить вместе со строкой и прочими атрибутами в лог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2018, 01:12 |
|
||
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
Переделал множество вариантов, перечитал много форумов - если обобщить, то получается что программу нужно писать либо в си стиле либо в с++, смешивание мол очень плохой тон. У вас в коде Код: plaintext 1. получается си вариант передачи строк, что подразумевает что вы используете какие-то свои алгоритмы по работе со строками, не пользуя std::string. С одной стороны - std::string очень удобно в плане конкатенации. С другой - почти все функции требуют вызова std::string.c_str() или как я понял альтернативе &std::string[0]. У себя я тоже столкнулся с тем, что в языке передача Log("TestString") - const char*, а вот если я захочу добавить к ней какой-то свой параметр, то выйдет Log("TestString" + std::string MyString) - string. И получается что для разных вариантов строк нужны разные методы логирования, либо отказаться в проекте от std::string и пользоваться char*. Строк в принципе очень мало, только хранение и передача, но на всякий случай - так как грамотно поступить чтобы тот кто потом читал код не сказал "ну и каша с типами данных"? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2018, 14:16 |
|
||
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
Ciplusor, Возми ты уже логгер какой-то, и не мучайси так... Nanolog, log4cxx -- дофига их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 16:44 |
|
||
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
CiplusorDimitry SibiryakovПередача string по значению. Забавный способ получить тормоза на ровном месте. Только учусь, читал что нативные типы можно передавать по значению, объекты по ссылке / указателю, но со строками пока очень все мутно, со временем разберусь :) Не парься, там не очень и сильно замедлится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 16:45 |
|
||
|
Логирование событий
|
|||
|---|---|---|---|
|
#18+
Переделал множество вариантов, перечитал много форумов - если обобщить, то получается что программу нужно писать либо в си стиле либо в с++, смешивание мол очень плохой тон. Бредятина. Надо писать так, как надо писать. Код: plaintext 1. получается си вариант передачи строк, что подразумевает что вы используете какие-то свои алгоритмы по работе со строками, не пользуя std::string. Тут нет строк. Строк в принципе очень мало, только хранение и передача, но на всякий случай - так как грамотно поступить чтобы тот кто потом читал код не сказал "ну и каша с типами данных"? :) Да ты очень много внимания уделяешь такой малости. Вообще, возьми готовый логгер лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 16:59 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=17&tid=2017797]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 507ms |

| 0 / 0 |
