12 // ----------------------------------------------------------------------------
15 const char *program_name = "";
16 unsigned long long debug_flags = DEBUG;
21 FILE *stdaccess = NULL;
23 int access_log_syslog = 1;
24 int error_log_syslog = 1;
25 int output_log_syslog = 1; // debug log
28 void log_date(FILE *out)
37 if (tmp == NULL) return;
38 if (strftime(outstr, sizeof(outstr), "%y-%m-%d %H:%M:%S", tmp) == 0) return;
40 fprintf(out, "%s: ", outstr);
43 void debug_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... )
48 va_start( args, fmt );
49 fprintf(stdout, "DEBUG (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
50 vfprintf( stdout, fmt, args );
52 fprintf(stdout, "\n");
54 if(output_log_syslog) {
55 va_start( args, fmt );
56 vsyslog(LOG_ERR, fmt, args );
61 void info_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... )
67 va_start( args, fmt );
68 if(debug_flags) fprintf(stderr, "INFO (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
69 else fprintf(stderr, "INFO: %s: ", program_name);
70 vfprintf( stderr, fmt, args );
73 fprintf(stderr, "\n");
75 if(error_log_syslog) {
76 va_start( args, fmt );
77 vsyslog(LOG_INFO, fmt, args );
82 void error_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... )
88 va_start( args, fmt );
89 if(debug_flags) fprintf(stderr, "ERROR (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
90 else fprintf(stderr, "ERROR: %s: ", program_name);
91 vfprintf( stderr, fmt, args );
95 fprintf(stderr, " (errno %d, %s)\n", errno, strerror(errno));
98 else fprintf(stderr, "\n");
100 if(error_log_syslog) {
101 va_start( args, fmt );
102 vsyslog(LOG_ERR, fmt, args );
107 void fatal_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... )
113 va_start( args, fmt );
114 if(debug_flags) fprintf(stderr, "FATAL (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
115 else fprintf(stderr, "FATAL: %s: ", program_name);
116 vfprintf( stderr, fmt, args );
120 fprintf(stderr, "\n");
122 if(error_log_syslog) {
123 va_start( args, fmt );
124 vsyslog(LOG_CRIT, fmt, args );
131 void log_access( const char *fmt, ... )
138 va_start( args, fmt );
139 vfprintf( stdaccess, fmt, args );
141 fprintf( stdaccess, "\n");
145 if(access_log_syslog) {
146 va_start( args, fmt );
147 vsyslog(LOG_INFO, fmt, args );