56 lines
1.2 KiB
C
Raw Permalink Normal View History

2017-08-09 09:29:32 +08:00
#ifndef _LOG_MYLOG_H_
#define _LOG_MYLOG_H_
2023-02-07 05:34:06 -05:00
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <getopt.h>
2017-08-09 09:29:32 +08:00
#include <unistd.h>
2023-02-07 05:34:06 -05:00
#include <errno.h>
2017-08-09 09:29:32 +08:00
#include <time.h>
#include <set>
using namespace std;
2023-02-07 05:34:06 -05:00
#define RED "\x1B[31m"
#define GRN "\x1B[32m"
#define YEL "\x1B[33m"
#define BLU "\x1B[34m"
#define MAG "\x1B[35m"
#define CYN "\x1B[36m"
#define WHT "\x1B[37m"
2017-08-09 09:29:32 +08:00
#define RESET "\x1B[0m"
2023-02-07 05:34:06 -05:00
const int log_never = 0;
const int log_fatal = 1;
const int log_error = 2;
const int log_warn = 3;
const int log_info = 4;
const int log_debug = 5;
const int log_trace = 6;
const int log_end = 7;
2017-08-09 09:29:32 +08:00
2023-02-07 05:34:06 -05:00
const char log_text[][20] = {"NEVER", "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE", ""};
const char log_color[][20] = {RED, RED, RED, YEL, GRN, MAG, ""};
2017-08-09 09:29:32 +08:00
extern int log_level;
extern int enable_log_position;
extern int enable_log_color;
#ifdef MY_DEBUG
2023-02-07 05:34:06 -05:00
#define mylog(__first_argu__dummy_abcde__, ...) printf(__VA_ARGS__)
2017-08-09 09:29:32 +08:00
#else
2023-02-07 05:34:06 -05:00
#define mylog(...) log0(__FILE__, __FUNCTION__, __LINE__, __VA_ARGS__)
2017-08-09 09:29:32 +08:00
#endif
//#define mylog(__first_argu__dummy_abcde__,...) {;}
2023-02-07 05:34:06 -05:00
void log0(const char* file, const char* function, int line, int level, const char* str, ...);
2017-08-09 09:29:32 +08:00
2023-02-07 05:34:06 -05:00
void log_bare(int level, const char* str, ...);
2017-08-09 09:29:32 +08:00
#endif