ContainerTracer  0.1
log.h
Go to the documentation of this file.
1 
25 #ifndef _LOG_H
26 #define _LOG_H
27 #include <time.h>
28 #include <unistd.h>
29 #include <stdio.h>
30 
31 #define INFO "INFO"
32 #define WARNING "WARNING"
33 #define ERROR "ERROR"
34 
43 #if defined(LOG_INFO)
44 #define pr_info(level, msg, ...) \
45  fprintf(stderr, "(" level ")[{%lfs} %s(%s):%d] (pid: %d) " msg, \
46  ((double)clock() / CLOCKS_PER_SEC), __FILE__, __func__, \
47  __LINE__, getpid(), ##__VA_ARGS__)
48 #elif defined(LOG_WARNING)
49 #include <string.h>
50 #define pr_info(level, msg, ...) \
51  do { \
52  if (!strcmp(level, WARNING) || !strcmp(level, ERROR)) \
53  fprintf(stderr, \
54  "(" level \
55  ")[{%lfs} %s(%s):%d] (pid: %d) " msg, \
56  ((double)clock() / CLOCKS_PER_SEC), __FILE__, \
57  __func__, __LINE__, getpid(), ##__VA_ARGS__); \
58  } while (0)
59 #elif defined(LOG_ERROR)
60 #include <string.h>
61 #define pr_info(level, msg, ...) \
62  do { \
63  if (!strcmp(level, ERROR)) \
64  fprintf(stderr, \
65  "(" level \
66  ")[{%lfs} %s(%s):%d] (pid: %d) " msg, \
67  ((double)clock() / CLOCKS_PER_SEC), __FILE__, \
68  __func__, __LINE__, getpid(), ##__VA_ARGS__); \
69  } while (0)
70 #else
71 #define pr_info(level, msg, ...) \
72  do { \
73  (void)level; \
74  (void)msg; \
75  } while (0)
76 #endif
77 
78 #endif