1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #ifndef LOGGER_H
- #define LOGGER_H
- #include "utils/StringBuffer.h"
- namespace Logger {
- enum Level { NONE, ERROR, WARNING, INFO, DEBUG };
- extern Level level;
- template<int N>
- void error(const StringBuffer<N>& s) {
- #if LOG_LEVEL >= 1
- if(level >= ERROR) {
- std::cout << "\33[1;31m[ERROR] " << s << "\33[39;49m\n";
- }
- #else
- (void)s;
- #endif
- }
- template<int N>
- void warn(const StringBuffer<N>& s) {
- #if LOG_LEVEL >= 2
- if(level >= WARNING) {
- std::cout << "\33[1;33m[WARNING] " << s << "\33[39;49m\n";
- }
- #else
- (void)s;
- #endif
- }
- template<int N>
- void info(const StringBuffer<N>& s) {
- #if LOG_LEVEL >= 3
- if(level >= INFO) {
- std::cout << "\33[1;37m[INFO] " << s << "\33[39;49m\n";
- }
- #else
- (void)s;
- #endif
- }
- template<int N>
- void debug(const StringBuffer<N>& s) {
- #if LOG_LEVEL >= 4
- if(level >= DEBUG) {
- std::cout << "\33[1;32m[DEBUG] " << s << "\33[39;49m\n";
- }
- #else
- (void)s;
- #endif
- }
- }
- #endif
|