Есть ли какие-либо функции ведения журнала в C++, которые можно включить, установив debug = True или что-то подобное, чтобы печатать отладочные сообщения в stdout?logger.debug функции в C++
ответ
Обычный трюк выглядит следующим образом:
void writeLog(const char* message); // Define elsewhere to do your logging
#ifdef DEBUG
#define Log(x) writeLog(x)
#else
#define Log(x)
#endif
// Somewhere in your main code
Log("This message is only seen if DEBUG is defined at compilation");
Итак, согласно значению отладки, журнал будет определяться как нечто иное, не так ли? К сожалению, я немного новичок в определении типов этого типа. – Cemre
Правильно. Директивы '#' являются частью препроцессора; по сути, перед компиляцией кода препроцессор будет физически переписать его. Если 'DEBUG' был определен (как правило, в качестве настройки проекта или для переключения в компилятор командной строки), тогда' Log' заменяется на 'writeLog'; если он не определен, «Журнал» заменен ничем, поэтому он ничего не делает. – Chowlett
Чтобы быть действительно неудобным, стандарт определяет символ 'NDEBUG', который влияет на макрос' assert'. Поэтому, если вы хотите, чтобы ваш журнал и ваши утверждения были на одном и том же коммутаторе, вы можете использовать это, иначе вы можете добавить код для определения 'DEBUG', если' NDEBUG' является ложным или наоборот. –
Не автоматически. Но вы можете определять свои собственные методы выборочно.
#ifdef DEBUG
#define DEBUG_MSG(msg) debug(msg)
#else
#define DEBUG_MSG(msg)
#endif
- 1. logger.debug; вывод NULL respsonse
- 2. Как включить Logger.debug() в Log4j
- 3. log4j - Почему logger.debug не работает?
- 4. Требуется ли Log4j isDebugEnabled() перед использованием logger.debug()?
- 5. Python Logging :: show logger.debug() Если задано «-v»
- 6. Python logger.debug Преобразование аргументов в строку без ведения журнала
- 7. SLF4J logger.debug() не нужно регистрироваться в JBoss 6
- 8. C функции в C++
- 9. функции внутри функции в C
- 10. Функции внутри функции в C
- 11. Преобразование функции C в C++
- 12. C++ функции в Objective C
- 13. C - неполадка функции функции
- 14. вызов функции в другой функции в C
- 15. C# ошибка функции функции
- 16. функции в C#
- 17. Имя функции в C
- 18. виртуальные функции в C++
- 19. Вложенные функции в C++
- 20. Встроенные функции в C++
- 21. Время функции в C++
- 22. Оберточные функции в C++
- 23. «встроенные» функции в C++
- 24. C указатели в функции
- 25. Нарушение функции в C++
- 26. Отладка функции в C
- 27. Экспонент функции в C#
- 28. Вызов функции в C++
- 29. Статические функции в C++
- 30. Графические функции в C
Хорошо, что есть [это] (http://www.cplusplus.com/reference/iostream/clog/), но он отправляется на 'stderr'. –