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 "scene.h"
|
||||||
#include "writer_png.h"
|
#include "writer_png.h"
|
||||||
|
|
||||||
|
#define LOG_NAME "ROOT"
|
||||||
|
#include "logModule.hh"
|
||||||
|
|
||||||
|
|
||||||
int verbosity = 0;
|
int verbosity = 0;
|
||||||
|
|
||||||
|
@ -90,7 +93,7 @@ main(int argc,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (optind >= argc) {
|
if (optind >= argc) {
|
||||||
LOG_ERROR("root") << "Input file required.";
|
LOG_ERROR << "Input file required.";
|
||||||
fprintf(stderr, "Input file required.\n");
|
fprintf(stderr, "Input file required.\n");
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -109,7 +112,7 @@ main(int argc,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Call tracer. */
|
/* Call tracer. */
|
||||||
LOG_INFO("root") << "Beginning render";
|
LOG_INFO << "Beginning render";
|
||||||
scene.render();
|
scene.render();
|
||||||
|
|
||||||
/* Write rendered scene to PNG file. */
|
/* Write rendered scene to PNG file. */
|
||||||
|
|
15
src/log.hh
15
src/log.hh
|
@ -183,13 +183,14 @@ Tracer::~Tracer()
|
||||||
} /* namespace charles */
|
} /* namespace charles */
|
||||||
|
|
||||||
|
|
||||||
#define LOG(name, level) charles::log::Log((name), (level))
|
#define LOG_NAME_LEVEL(name, level) charles::log::Log((name), (level))
|
||||||
#define LOG_ERROR(name) LOG(name, charles::log::level::Error)
|
#define LOG_ERROR_NAME(name) LOG_NAME_LEVEL(name, charles::log::level::Error)
|
||||||
#define LOG_WARN(name) LOG(name, charles::log::level::Warning)
|
#define LOG_WARN_NAME(name) LOG_NAME_LEVEL(name, charles::log::level::Warning)
|
||||||
#define LOG_INFO(name) LOG(name, charles::log::level::Info)
|
#define LOG_INFO_NAME(name) LOG_NAME_LEVEL(name, charles::log::level::Info)
|
||||||
#define LOG_DEBUG(name) LOG(name, charles::log::level::Debug)
|
#define LOG_DEBUG_NAME(name) LOG_NAME_LEVEL(name, charles::log::level::Debug)
|
||||||
#define LOG_TRACE(name) LOG(name, charles::log::level::Trace)
|
#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__ */
|
#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