10 // ----------------------------------------------------------------------------
13 const char *program_name = "";
14 unsigned long long debug_flags = DEBUG;
19 FILE *stdaccess = NULL;
21 int access_log_syslog = 1;
22 int error_log_syslog = 1;
23 int output_log_syslog = 1; // debug log
26 void log_date(FILE *out)
35 if (tmp == NULL) return;
36 if (strftime(outstr, sizeof(outstr), "%y-%m-%d %H:%M:%S", tmp) == 0) return;
38 fprintf(out, "%s: ", outstr);
41 void debug_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... )
46 va_start( args, fmt );
47 fprintf(stdout, "DEBUG (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
48 vfprintf( stdout, fmt, args );
50 fprintf(stdout, "\n");
52 if(output_log_syslog) {
53 va_start( args, fmt );
54 vsyslog(LOG_ERR, fmt, args );
59 void info_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... )
65 va_start( args, fmt );
66 if(debug_flags) fprintf(stderr, "INFO (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
67 else fprintf(stderr, "INFO: %s: ", program_name);
68 vfprintf( stderr, fmt, args );
71 fprintf(stderr, "\n");
73 if(error_log_syslog) {
74 va_start( args, fmt );
75 vsyslog(LOG_INFO, fmt, args );
80 void error_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... )
86 va_start( args, fmt );
87 if(debug_flags) fprintf(stderr, "ERROR (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
88 else fprintf(stderr, "ERROR: %s: ", program_name);
89 vfprintf( stderr, fmt, args );
93 fprintf(stderr, " (errno %d, %s)\n", errno, strerror(errno));
96 else fprintf(stderr, "\n");
98 if(error_log_syslog) {
99 va_start( args, fmt );
100 vsyslog(LOG_ERR, fmt, args );
105 void fatal_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... )
111 va_start( args, fmt );
112 if(debug_flags) fprintf(stderr, "FATAL (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
113 else fprintf(stderr, "FATAL: %s: ", program_name);
114 vfprintf( stderr, fmt, args );
118 fprintf(stderr, "\n");
120 if(error_log_syslog) {
121 va_start( args, fmt );
122 vsyslog(LOG_CRIT, fmt, args );
129 void log_access( const char *fmt, ... )
136 va_start( args, fmt );
137 vfprintf( stdaccess, fmt, args );
139 fprintf( stdaccess, "\n");
143 if(access_log_syslog) {
144 va_start( args, fmt );
145 vsyslog(LOG_INFO, fmt, args );