Add timestamp to logging
This commit is contained in:
parent
297c8f800e
commit
6ce73639ec
1 changed files with 43 additions and 24 deletions
31
src/log.h
31
src/log.h
|
|
@ -2,6 +2,7 @@
|
|||
#define _PAWN_LSP_LOG_H_
|
||||
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
#define COL_BLU "\e[38;5;12m\e[1m"
|
||||
#define COL_GRE "\e[38;5;82m\e[1m"
|
||||
|
|
@ -15,8 +16,14 @@
|
|||
extern FILE *logger;
|
||||
|
||||
#define log_info(fmt, ...) do { \
|
||||
const char *__fmt = "[" COL_CYA "INFO " COL_DONE " | %s:%d] " fmt; \
|
||||
fprintf(stderr, __fmt, __FILE__, __LINE__, ##__VA_ARGS__); \
|
||||
struct timespec __now = {0}; \
|
||||
double __snow; \
|
||||
const char *__fmt = "[" COL_CYA "INFO " COL_DONE " |%.3f| %s:%d|> " fmt; \
|
||||
\
|
||||
clock_gettime(CLOCK_REALTIME, &__now); \
|
||||
__snow = (double)__now.tv_sec + ((double)__now.tv_nsec / 1000000000.0f); \
|
||||
\
|
||||
fprintf(stderr, __fmt, __snow, __FILE__, __LINE__, ##__VA_ARGS__); \
|
||||
fflush(stderr); \
|
||||
if (logger) { \
|
||||
fprintf(logger, __fmt, __FILE__, __LINE__, ##__VA_ARGS__); \
|
||||
|
|
@ -25,8 +32,14 @@ extern FILE *logger;
|
|||
} while (0)
|
||||
|
||||
#define log_warn(fmt, ...) do { \
|
||||
const char *__fmt = "[" COL_YEL "WARN " COL_DONE " | %s:%d] " fmt; \
|
||||
fprintf(stderr, __fmt, __FILE__, __LINE__, ##__VA_ARGS__); \
|
||||
struct timespec __now = {0}; \
|
||||
double __snow; \
|
||||
const char *__fmt = "[" COL_YEL "WARN " COL_DONE " |%.3f| %s:%d|> " fmt; \
|
||||
\
|
||||
clock_gettime(CLOCK_REALTIME, &__now); \
|
||||
__snow = (double)__now.tv_sec + ((double)__now.tv_nsec / 1000000000.0f); \
|
||||
\
|
||||
fprintf(stderr, __fmt, __snow, __FILE__, __LINE__, ##__VA_ARGS__); \
|
||||
fflush(stderr); \
|
||||
if (logger) { \
|
||||
fprintf(logger, __fmt, __FILE__, __LINE__, ##__VA_ARGS__); \
|
||||
|
|
@ -35,8 +48,14 @@ extern FILE *logger;
|
|||
} while (0)
|
||||
|
||||
#define log_error(fmt, ...) do { \
|
||||
const char *__fmt = "[" COL_ORA "ERROR" COL_DONE " | %s:%d] " fmt; \
|
||||
fprintf(stderr, __fmt, __FILE__, __LINE__, ##__VA_ARGS__); \
|
||||
struct timespec __now = {0}; \
|
||||
double __snow; \
|
||||
const char *__fmt = "[" COL_ORA "ERROR" COL_DONE " |%.3f| %s:%d|> " fmt; \
|
||||
\
|
||||
clock_gettime(CLOCK_REALTIME, &__now); \
|
||||
__snow = (double)__now.tv_sec + ((double)__now.tv_nsec / 1000000000.0f); \
|
||||
\
|
||||
fprintf(stderr, __fmt, __snow, __FILE__, __LINE__, ##__VA_ARGS__); \
|
||||
fflush(stderr); \
|
||||
if (logger) { \
|
||||
fprintf(logger, __fmt, __FILE__, __LINE__, ##__VA_ARGS__); \
|
||||
|
|
|
|||
Loading…
Reference in a new issue