bankd, client, server: add -L option to disable log coloring
When the stderr of these services is sent to syslog, for example by
using systemd's StandardError=syslog, syslog's escaping of ANSI color
ESC sequences in log messages really clutter the log files. This
option allows log coloring to be disabled on the command line.
Change-Id: I6955b0af1ceb11a4029383e32bb298ee8da7503f
diff --git a/src/bankd/bankd_main.c b/src/bankd/bankd_main.c
index 3fd4d6b..90b05d8 100644
--- a/src/bankd/bankd_main.c
+++ b/src/bankd/bankd_main.c
@@ -301,6 +301,7 @@
" -s --permit-shared-pcsc Permit SHARED access to PC/SC readers (default: exclusive)\n"
" -g --gsmtap-ip A.B.C.D Enable GSMTAP and send APDU traces to given IP\n"
" -G --gsmtap-slot <0-1023> Limit tracing to given bank slot, only (default: all slots)\n"
+" -L --disable-color Disable colors for logging to stderr\n"
);
}
@@ -325,10 +326,11 @@
{ "permit-shared-pcsc", 0, 0, 's' },
{ "gsmtap-ip", 1, 0, 'g' },
{ "gsmtap-slot", 1, 0, 'G' },
+ { "disable-color", 0, 0, 'L' },
{ 0, 0, 0, 0 }
};
- c = getopt_long(argc, argv, "hVd:i:p:b:n:N:I:P:sg:G:", long_options, &option_index);
+ c = getopt_long(argc, argv, "hVd:i:p:b:n:N:I:P:sg:G:L", long_options, &option_index);
if (c == -1)
break;
@@ -374,6 +376,9 @@
case 'G':
g_bankd->cfg.gsmtap_slot = atoi(optarg);
break;
+ case 'L':
+ log_set_use_color(osmo_stderr_target, 0);
+ break;
}
}
}
diff --git a/src/client/remsim_client_main.c b/src/client/remsim_client_main.c
index 5a23d82..f7f55e7 100644
--- a/src/client/remsim_client_main.c
+++ b/src/client/remsim_client_main.c
@@ -35,6 +35,7 @@
" -a --atr HEXSTRING default ATR to simulate (until bankd overrides it)\n"
" -r --atr-ignore-rspro Ignore any ATR from bankd; use only ATR given by -a)\n"
" -e --event-script <path> event script to be called by client\n"
+ " -L --disable-color Disable colors for logging to stderr\n"
#ifdef USB_SUPPORT
" -V --usb-vendor VENDOR_ID\n"
" -P --usb-product PRODUCT_ID\n"
@@ -64,6 +65,7 @@
{ "atr", 1, 0, 'a' },
{ "atr-ignore-rspro", 0, 0, 'r' },
{ "event-script", 1, 0, 'e' },
+ {" disable-color", 0, 0, 'L' },
#ifdef USB_SUPPORT
{ "usb-vendor", 1, 0, 'V' },
{ "usb-product", 1, 0, 'P' },
@@ -76,7 +78,7 @@
{ 0, 0, 0, 0 }
};
- c = getopt_long(argc, argv, "hvd:i:p:c:n:a:re:"
+ c = getopt_long(argc, argv, "hvd:i:p:c:n:a:re:L"
#ifdef USB_SUPPORT
"V:P:C:I:S:A:H:"
#endif
@@ -122,6 +124,9 @@
case 'e':
osmo_talloc_replace_string(cfg, &cfg->event_script, optarg);
break;
+ case 'L':
+ log_set_use_color(osmo_stderr_target, 0);
+ break;
#ifdef USB_SUPPORT
case 'V':
cfg->usb.vendor_id = strtol(optarg, NULL, 16);
diff --git a/src/server/remsim_server.c b/src/server/remsim_server.c
index 419dcad..fad0b14 100644
--- a/src/server/remsim_server.c
+++ b/src/server/remsim_server.c
@@ -33,9 +33,10 @@
static void print_help()
{
printf( " Some useful help...\n"
- " -h --help This text\n"
- " -V --version Print version of the program\n"
- " -d --debug option Enable debug logging (e.g. DMAIN:DST2)\n"
+ " -h --help This text\n"
+ " -V --version Print version of the program\n"
+ " -d --debug option Enable debug logging (e.g. DMAIN:DST2)\n"
+ " -L --disable-color Disable colors for logging to stderr\n"
);
}
@@ -47,10 +48,11 @@
{ "help", 0, 0, 'h' },
{ "version", 0, 0, 'V' },
{ "debug", 1, 0, 'd' },
- {0, 0, 0, 0}
+ { "disable-color", 0, 0, 'L' },
+ { 0, 0, 0, 0 }
};
- c = getopt_long(argc, argv, "hVd:", long_options, &option_index);
+ c = getopt_long(argc, argv, "hVd:L", long_options, &option_index);
if (c == -1)
break;
@@ -66,6 +68,9 @@
printf("osmo-resmim-server version %s\n", VERSION);
exit(0);
break;
+ case 'L':
+ log_set_use_color(osmo_stderr_target, 0);
+ break;
default:
/* ignore */
break;