summaryrefslogtreecommitdiff
path: root/log/log.h
blob: 63337f2b6988de3434c67075fae8e1ae74f41039 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef LOG_H
#define LOG_H

#define PID
#define COLOR

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdarg.h>
#ifdef PID
#include <unistd.h>
#endif


enum {
	LOG_DEBUG,
	LOG_INFO,
	LOG_WARN,
	LOG_ERROR,
	LOG_LEVEL_COUNT
};

#define MAX_LOGFILES (8)
#define MSG_LIMIT (256)


int log_set_stderr(int level, int of);
void log_set_level(int level, int of);
int log_add_fp(int level, FILE *fp);
int log_remove_fp(int level, FILE *fp);
void log_time_format(char *tf);
int log_nanoseconds(int n);
void log_message(int level, char *file, int line, char *fmt, ...);

#define log_debug(...) log_message(LOG_DEBUG, __FILE__, __LINE__, __VA_ARGS__)
#define log_info(...) log_message(LOG_INFO, __FILE__, __LINE__, __VA_ARGS__)
#define log_warn(...) log_message(LOG_WARN, __FILE__, __LINE__, __VA_ARGS__)
#define log_error(...) log_message(LOG_ERROR, __FILE__, __LINE__, __VA_ARGS__)

#endif