diff options
author | Rafael Ortiz <dirakx@gmail.com> | 2011-02-25 21:40:07 (GMT) |
---|---|---|
committer | Rafael Ortiz <dirakx@gmail.com> | 2011-02-25 21:40:07 (GMT) |
commit | 0c8e687ce284d7599b9bfb7c578b0fc7fb32c493 (patch) | |
tree | 0de859c2cc0fb5850e6d87daf2407d61d40c00e3 /TamTamJam.activity/common/Util/Clooper/log.cpp | |
parent | bc9dd5c653e667d19c88092160b0f664e08ae7d8 (diff) |
fixing simlimking build error
Diffstat (limited to 'TamTamJam.activity/common/Util/Clooper/log.cpp')
-rw-r--r-- | TamTamJam.activity/common/Util/Clooper/log.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/TamTamJam.activity/common/Util/Clooper/log.cpp b/TamTamJam.activity/common/Util/Clooper/log.cpp new file mode 100644 index 0000000..d4a8c72 --- /dev/null +++ b/TamTamJam.activity/common/Util/Clooper/log.cpp @@ -0,0 +1,52 @@ +#ifndef LOG_HXX +#define LOG_HXX + +#include <stdarg.h> +#include <stdio.h> + +struct log_t +{ + FILE * _file; + int _level; + int _close; + + log_t(const char * logpath, int level = 0) : _file(NULL), _level(level), _close(1) + { + _file = fopen(logpath, "w"); + if (!_file) + { + fprintf(stderr, "Failed to open log file for writing: %s\n", logpath); + } + } + log_t(FILE * file, int level = 0): _file(file), _level(level), _close(0) + { + } + ~log_t() + { + if (_close && _file) fclose(_file); + } + void printf( const char * fmt, ... ) __attribute__(( format (printf, 2,3))) + { + if (!_file) return; + va_list ap; + va_start(ap,fmt); + ::vfprintf(_file, fmt, ap); + va_end(ap); + fflush(_file); + } + void printf( int level, const char * fmt, ... ) __attribute__(( format (printf, 3,4))) + { + if (level <= _level) + { + if (!_file) return; + fprintf(_file, "L%i:", level); + va_list ap; + va_start(ap,fmt); + ::vfprintf(_file, fmt, ap); + va_end(ap); + fflush(_file); + } + } +}; + +#endif |