diff options
-rw-r--r-- | usbmuxd/log.c | 21 | ||||
-rw-r--r-- | usbmuxd/main.c | 21 | ||||
-rw-r--r-- | usbmuxd/usb-linux.c | 4 |
3 files changed, 27 insertions, 19 deletions
diff --git a/usbmuxd/log.c b/usbmuxd/log.c index 4f67e85..2ccb3cc 100644 --- a/usbmuxd/log.c +++ b/usbmuxd/log.c @@ -32,7 +32,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #include "log.h" -int log_level = LL_FATAL; +int log_level = LL_WARNING; int log_syslog = 0; @@ -66,17 +66,22 @@ void usbmuxd_log(enum loglevel level, const char *fmt, ...) char *fs; struct timeval ts; struct tm *tp; - + gettimeofday(&ts, NULL); tp = localtime(&ts.tv_sec); - + if(level > log_level) return; - + fs = malloc(20 + strlen(fmt)); - strftime(fs, 10, "[%H:%M:%S", tp); - sprintf(fs+9, ".%03d][%d] %s\n", (int)(ts.tv_usec / 1000), level, fmt); - + + if(log_syslog) { + sprintf(fs, "[%d] %s\n", level, fmt); + } else { + strftime(fs, 10, "[%H:%M:%S", tp); + sprintf(fs+9, ".%03d][%d] %s\n", (int)(ts.tv_usec / 1000), level, fmt); + } + va_start(ap, fmt); if (log_syslog) { vsyslog(level_to_syslog_level(level), fs, ap); @@ -84,6 +89,6 @@ void usbmuxd_log(enum loglevel level, const char *fmt, ...) vfprintf(stderr, fs, ap); } va_end(ap); - + free(fs); } diff --git a/usbmuxd/main.c b/usbmuxd/main.c index 579a21f..ec52ce0 100644 --- a/usbmuxd/main.c +++ b/usbmuxd/main.c @@ -235,7 +235,7 @@ static void usage() printf("usage: usbmuxd [options]\n"); printf("\t-h|--help Print this message.\n"); printf("\t-v|--verbose Be verbose (use twice or more to increase).\n"); - printf("\t-f|--foreground Do not daemonize (implies a verbosity of 4).\n"); + printf("\t-f|--foreground Do not daemonize (implies one -v).\n"); printf("\t-d|--drop-privileges Drop privileges after startup.\n"); printf("\t-u|--udev Run in udev operation mode.\n"); printf("\t-x|--exit Tell a running instance to exit.\n"); @@ -310,9 +310,10 @@ int main(int argc, char *argv[]) argv += optind; if (!foreground) { + verbose += LL_WARNING; log_enable_syslog(); } else { - verbose += LL_INFO; + verbose += LL_NOTICE; } /* set log level to specified verbosity */ @@ -336,20 +337,22 @@ int main(int argc, char *argv[]) if (lock.l_pid && !kill(lock.l_pid, 0)) { usbmuxd_log(LL_NOTICE, "sending signal %d to instance with pid %d", exit_signal, lock.l_pid); if (kill(lock.l_pid, exit_signal) < 0) { - usbmuxd_log(LL_ERROR, "Error: could not deliver signal %d to pid %d", exit_signal, lock.l_pid); + usbmuxd_log(LL_FATAL, "Error: could not deliver signal %d to pid %d", exit_signal, lock.l_pid); } res = 0; goto terminate; } else { - usbmuxd_log(LL_ERROR, "Error: could not determine pid of the other running instance!"); + usbmuxd_log(LL_ERROR, "Could not determine pid of the other running instance!"); res = -1; goto terminate; } } else { - usbmuxd_log(LL_NOTICE, - "another instance is already running (pid %d). exiting.", lock.l_pid); if (!opt_udev) { + usbmuxd_log(LL_ERROR, "Another instance is already running (pid %d). exiting.", lock.l_pid); res = -1; + } else { + usbmuxd_log(LL_NOTICE, "Another instance is already running (pid %d). exiting.", lock.l_pid); + res = 0; } goto terminate; } @@ -357,7 +360,7 @@ int main(int argc, char *argv[]) } if (opt_exit) { - usbmuxd_log(LL_NOTICE, "no running instance found, none killed. exiting."); + usbmuxd_log(LL_NOTICE, "No running instance found, none killed. exiting."); goto terminate; } @@ -392,7 +395,7 @@ int main(int argc, char *argv[]) lock.l_start = 0; lock.l_len = 0; if (fcntl(fileno(lfd), F_SETLK, &lock) == -1) { - usbmuxd_log(LL_ERROR, "ERROR: lockfile locking failed!"); + usbmuxd_log(LL_FATAL, "Lockfile locking failed!"); log_disable_syslog(); exit(EXIT_FAILURE); } @@ -428,9 +431,9 @@ int main(int argc, char *argv[]) usb_shutdown(); device_shutdown(); client_shutdown(); -terminate: usbmuxd_log(LL_NOTICE, "Shutdown complete"); +terminate: log_disable_syslog(); if(res < 0) diff --git a/usbmuxd/usb-linux.c b/usbmuxd/usb-linux.c index c75764b..a5fc6a0 100644 --- a/usbmuxd/usb-linux.c +++ b/usbmuxd/usb-linux.c @@ -103,7 +103,7 @@ static void tx_callback(struct libusb_transfer *xfer) usbmuxd_log(LL_ERROR, "TX transfer timed out for device %d-%d", dev->bus, dev->address); break; case LIBUSB_TRANSFER_CANCELLED: - usbmuxd_log(LL_ERROR, "TX transfer cancelled for device %d-%d", dev->bus, dev->address); + usbmuxd_log(LL_DEBUG, "Device %d-%d TX transfer cancelled", dev->bus, dev->address); break; case LIBUSB_TRANSFER_STALL: usbmuxd_log(LL_ERROR, "TX transfer stalled for device %d-%d", dev->bus, dev->address); @@ -174,7 +174,7 @@ static void rx_callback(struct libusb_transfer *xfer) usbmuxd_log(LL_ERROR, "RX transfer timed out for device %d-%d", dev->bus, dev->address); break; case LIBUSB_TRANSFER_CANCELLED: - usbmuxd_log(LL_ERROR, "RX transfer cancelled for device %d-%d", dev->bus, dev->address); + usbmuxd_log(LL_DEBUG, "Device %d-%d RX transfer cancelled", dev->bus, dev->address); break; case LIBUSB_TRANSFER_STALL: usbmuxd_log(LL_ERROR, "RX transfer stalled for device %d-%d", dev->bus, dev->address); |