Log file and line number.

This commit is contained in:
Ian Gulliver
2016-03-07 17:08:36 -08:00
parent b434b67dd8
commit 3ef52b16b5
2 changed files with 7 additions and 5 deletions

View File

@@ -90,10 +90,10 @@ bool log_reopen(const char *path) {
return true; return true;
} }
void log_write(char type, const uint8_t *id, const char *fmt, ...) { void log_write(char type, const char *loc, const uint8_t *id, const char *fmt, ...) {
va_list ap; va_list ap;
va_start(ap, fmt); va_start(ap, fmt);
assert(fprintf(log_stream, "%c %s: ", type, id) > 0); assert(fprintf(log_stream, "%c [%20s] %s: ", type, loc, id) > 0);
assert(vfprintf(log_stream, fmt, ap) > 0); assert(vfprintf(log_stream, fmt, ap) > 0);
assert(fprintf(log_stream, "\n") == 1); assert(fprintf(log_stream, "\n") == 1);
va_end(ap); va_end(ap);

View File

@@ -3,11 +3,13 @@
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h> #include <stdint.h>
#define LOG(id, ...) log_write((log_module), (id), __VA_ARGS__) #define LOG_STR(line) #line
#define LOG_LOC(file, line) (file ":" LOG_STR(line))
#define LOG(id, ...) log_write((log_module), LOG_LOC(__FILE__, __LINE__), (id), __VA_ARGS__)
void log_init(void); void log_init(void);
void log_init2(void); void log_init2(void);
void log_cleanup(void); void log_cleanup(void);
bool log_reopen(const char *); bool log_reopen(const char *);
void log_write(char, const uint8_t *, const char *, ...) void log_write(char, const char *, const uint8_t *, const char *, ...)
__attribute__ ((__format__ (__printf__, 3, 4))); __attribute__ ((__format__ (__printf__, 4, 5)));