]>
Commit | Line | Data |
---|---|---|
02d1d628 AMH |
1 | #ifndef _LOG_H_ |
2 | #define _LOG_H_ | |
3 | ||
4 | #include <stdio.h> | |
5 | #include <stdarg.h> | |
6 | #include <time.h> | |
8d14daab | 7 | #include "imdatatypes.h" |
02d1d628 AMH |
8 | /* |
9 | input: name of file to log too | |
10 | input: onoff, 0 means no logging | |
11 | global: creates a global variable FILE* lg_file | |
12 | */ | |
13 | ||
696cb85d TC |
14 | int im_init_log(pIMCTX, const char *name, int onoff ); |
15 | #define i_init_log(name, onoff) im_init_log(aIMCTX, name, onoff) | |
9d91cc28 | 16 | #ifndef IMAGER_NO_CONTEXT |
10ea52a3 | 17 | void i_fatal ( int exitcode,const char *fmt, ... ); |
9d91cc28 | 18 | #endif |
44d86483 | 19 | void im_fatal (pIMCTX, int exitcode,const char *fmt, ... ); |
696cb85d | 20 | void im_lhead ( pIMCTX, const char *file, int line ); |
bf1573f9 | 21 | void i_lhead ( const char *file, int line ); |
8d14daab | 22 | void i_loog(int level,const char *msg, ... ) I_FORMAT_ATTR(2,3); |
696cb85d | 23 | void im_loog(pIMCTX, int level,const char *msg, ... ) I_FORMAT_ATTR(3,4); |
02d1d628 | 24 | |
bd8052a6 | 25 | /* |
abffffed | 26 | =item im_log((aIMCTX, level, format, ...)) |
bd8052a6 TC |
27 | =category Logging |
28 | ||
29 | This is the main entry point to logging. Note that the extra set of | |
30 | parentheses are required due to limitations in C89 macros. | |
31 | ||
32 | This will format a string with the current file and line number to the | |
33 | log file if logging is enabled. | |
34 | ||
abffffed TC |
35 | This must be called with a context object defined by one of the |
36 | C<dIMCTX> macros in scope. | |
37 | ||
38 | This can also be called as C<mm_log((level, format, args))> in which | |
39 | case the currently active context is used and any in scope context is | |
40 | ignored. | |
41 | ||
bd8052a6 TC |
42 | =cut |
43 | */ | |
02d1d628 AMH |
44 | |
45 | #ifdef IMAGER_LOG | |
7a62be17 | 46 | #ifndef IMAGER_NO_CONTEXT |
bf1573f9 | 47 | #define mm_log(x) { i_lhead(__FILE__,__LINE__); i_loog x; } |
7a62be17 | 48 | #endif |
696cb85d | 49 | #define im_log(x) { im_lhead(aIMCTX, __FILE__,__LINE__); im_loog x; } |
02d1d628 AMH |
50 | #else |
51 | #define mm_log(x) | |
696cb85d | 52 | #define im_log(x) |
02d1d628 AMH |
53 | #endif |
54 | ||
55 | ||
56 | #endif /* _LOG_H_ */ |