| #include <u/libu.h> |
| #include <wsman-debug.h> |
| #include "openwsman.h" |
| /*-----------------------------------------------------------------*/ |
| /* Rbwsman */ |
| /* debug (mostly stolen from src/server/wsmand.c) */ |
| |
| void |
| debug_message_handler (const char *str, |
| debug_level_e level, |
| void *user_data) |
| { |
| static int log_pid = 0; |
| |
| if (log_pid == 0) |
| log_pid = getpid (); |
| #if 0 |
| if (level <= wsmand_options_get_debug_level () |
| || wsmand_options_get_foreground_debug() > 0 ) |
| #endif |
| { |
| struct tm *tm; |
| time_t now; |
| char timestr[128]; |
| char *log_msg; |
| int p; |
| |
| time (&now); |
| tm = localtime (&now); |
| strftime (timestr, 128, "%b %e %T", tm); |
| |
| log_msg = u_strdup_printf ("%s [%d] %s\n", |
| timestr, log_pid, str); |
| if ( (p = write (STDERR_FILENO, log_msg, strlen (log_msg)) ) < 0 ) |
| fprintf(stderr, "Failed writing to log file\n"); |
| fsync (STDERR_FILENO); |
| |
| u_free (log_msg); |
| } |
| #if 0 |
| if ( level <= wsmand_options_get_syslog_level ()) |
| { |
| char *log_name = u_strdup_printf( "wsmand[%d]", log_pid ); |
| |
| openlog( log_name, 0, LOG_DAEMON ); |
| syslog( LOG_INFO, "%s", str ); |
| closelog(); |
| u_free( log_name ); |
| } |
| #endif |
| } |
| |