Add logModule.hh
Defines some helper macros to make it easier to log message. Define LOG_NAME before including this file and a number of logging macros will be defined that will allow users to skip specifying the name of the log stream for each statement.
This commit is contained in:
parent
3a94433f5c
commit
97a172bbe9
3 changed files with 40 additions and 9 deletions
|
@ -18,6 +18,9 @@
|
|||
#include "scene.h"
|
||||
#include "writer_png.h"
|
||||
|
||||
#define LOG_NAME "ROOT"
|
||||
#include "logModule.hh"
|
||||
|
||||
|
||||
int verbosity = 0;
|
||||
|
||||
|
@ -90,7 +93,7 @@ main(int argc,
|
|||
}
|
||||
|
||||
if (optind >= argc) {
|
||||
LOG_ERROR("root") << "Input file required.";
|
||||
LOG_ERROR << "Input file required.";
|
||||
fprintf(stderr, "Input file required.\n");
|
||||
usage(argv[0]);
|
||||
return -1;
|
||||
|
@ -109,7 +112,7 @@ main(int argc,
|
|||
}
|
||||
|
||||
/* Call tracer. */
|
||||
LOG_INFO("root") << "Beginning render";
|
||||
LOG_INFO << "Beginning render";
|
||||
scene.render();
|
||||
|
||||
/* Write rendered scene to PNG file. */
|
||||
|
|
15
src/log.hh
15
src/log.hh
|
@ -183,13 +183,14 @@ Tracer::~Tracer()
|
|||
} /* namespace charles */
|
||||
|
||||
|
||||
#define LOG(name, level) charles::log::Log((name), (level))
|
||||
#define LOG_ERROR(name) LOG(name, charles::log::level::Error)
|
||||
#define LOG_WARN(name) LOG(name, charles::log::level::Warning)
|
||||
#define LOG_INFO(name) LOG(name, charles::log::level::Info)
|
||||
#define LOG_DEBUG(name) LOG(name, charles::log::level::Debug)
|
||||
#define LOG_TRACE(name) LOG(name, charles::log::level::Trace)
|
||||
#define LOG_NAME_LEVEL(name, level) charles::log::Log((name), (level))
|
||||
#define LOG_ERROR_NAME(name) LOG_NAME_LEVEL(name, charles::log::level::Error)
|
||||
#define LOG_WARN_NAME(name) LOG_NAME_LEVEL(name, charles::log::level::Warning)
|
||||
#define LOG_INFO_NAME(name) LOG_NAME_LEVEL(name, charles::log::level::Info)
|
||||
#define LOG_DEBUG_NAME(name) LOG_NAME_LEVEL(name, charles::log::level::Debug)
|
||||
#define LOG_TRACE_NAME(name) LOG_NAME_LEVEL(name, charles::log::level::Trace)
|
||||
|
||||
#define TRACE_FUNC(name) auto __tracer = charles::log::Tracer((name), __PRETTY_FUNCTION__)
|
||||
#define TRACE_FUNC_NAME(name) \
|
||||
auto __tracer = charles::log::Tracer((name), __PRETTY_FUNCTION__)
|
||||
|
||||
#endif /* __LOG_HH__ */
|
||||
|
|
27
src/logModule.hh
Normal file
27
src/logModule.hh
Normal file
|
@ -0,0 +1,27 @@
|
|||
/* logModule.hh
|
||||
* vim: set tw=80:
|
||||
* Eryn Wells <eryn@erynwells.me>
|
||||
*/
|
||||
/**
|
||||
* Defines some helper macros for logging that simplify the ones defined in
|
||||
* log.hh.
|
||||
*/
|
||||
|
||||
#ifndef __LOGMODULE_HH__
|
||||
#define __LOGMODULE_HH__
|
||||
|
||||
#if !defined(LOG_NAME)
|
||||
#warning "Log stream name undefined. Using ROOT log stream."
|
||||
#define LOG_NAME "ROOT"
|
||||
#endif
|
||||
|
||||
#define LOG_LEVEL(level) LOG_NAME_LEVEL(LOG_NAME, level)
|
||||
#define LOG_ERROR LOG_ERROR_NAME(LOG_NAME)
|
||||
#define LOG_WARN LOG_WARN_NAME(LOG_NAME)
|
||||
#define LOG_INFO LOG_INFO_NAME(LOG_NAME)
|
||||
#define LOG_DEBUG LOG_DEBUG_NAME(LOG_NAME)
|
||||
#define LOG_TRACE LOG_TRACE_NAME(LOG_NAME)
|
||||
|
||||
#define TRACE_FUNC TRACE_FUNC_NAME(LOG_NAME)
|
||||
|
||||
#endif /* __LOGMODULE_HH__ */
|
Loading…
Add table
Add a link
Reference in a new issue