diff options
author | Ondřej Lysoněk <olysonek@redhat.com> | 2018-12-30 14:59:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-30 14:59:29 +0100 |
commit | 097432dd0167d95b469ea1914f0bfd05bff76432 (patch) | |
tree | f1d095481166eb96e44852edbf4d8bbfaa214fea /prog | |
parent | 84f773b3ec8b75f377a68fd1436ea3ac6d11b170 (diff) | |
parent | c7c6e66328c99fe67afe8307b03c552a21bc1f06 (diff) | |
download | lm-sensors-git-097432dd0167d95b469ea1914f0bfd05bff76432.tar.gz |
Merge pull request #124 from lucasrangit/sensord-oneline
sensord: add oneline sensor log output option
Diffstat (limited to 'prog')
-rw-r--r-- | prog/sensord/args.c | 7 | ||||
-rw-r--r-- | prog/sensord/args.h | 1 | ||||
-rw-r--r-- | prog/sensord/sense.c | 18 | ||||
-rw-r--r-- | prog/sensord/sensord.8 | 2 |
4 files changed, 22 insertions, 6 deletions
diff --git a/prog/sensord/args.c b/prog/sensord/args.c index 929ab0aa..36e23865 100644 --- a/prog/sensord/args.c +++ b/prog/sensord/args.c @@ -93,6 +93,7 @@ static const char *daemonSyntax = " -i, --interval <time> -- interval between scanning alarms (default 60s)\n" " -l, --log-interval <time> -- interval between logging sensors (default 30m)\n" " -t, --rrd-interval <time> -- interval between updating RRD file (default 5m)\n" + " -1, --oneline -- log chip, adapter, and sensor data on one line\n" " -T, --rrd-no-average -- switch RRD in non-average mode\n" " -r, --rrd-file <file> -- RRD file (default <none>)\n" " -c, --config-file <file> -- configuration file\n" @@ -116,12 +117,13 @@ static const char *daemonSyntax = "the RRD file configuration must EXACTLY match the sensors that are used. If\n" "your configuration changes, delete the old RRD file and restart sensord.\n"; -static const char *shortOptions = "i:l:t:Tf:r:c:p:advhg:"; +static const char *shortOptions = "i:l:t:1Tf:r:c:p:advhg:"; static const struct option longOptions[] = { { "interval", required_argument, NULL, 'i' }, { "log-interval", required_argument, NULL, 'l' }, { "rrd-interval", required_argument, NULL, 't' }, + { "oneline", no_argument, NULL, '1' }, { "rrd-no-average", no_argument, NULL, 'T' }, { "syslog-facility", required_argument, NULL, 'f' }, { "rrd-file", required_argument, NULL, 'r' }, @@ -161,6 +163,9 @@ int parseArgs(int argc, char **argv) if ((sensord_args.rrdTime = parseTime(optarg)) < 0) return -1; break; + case '1': + sensord_args.logOneline = 1; + break; case 'T': sensord_args.rrdNoAverage = 1; break; diff --git a/prog/sensord/args.h b/prog/sensord/args.h index cced2b2f..524d1505 100644 --- a/prog/sensord/args.h +++ b/prog/sensord/args.h @@ -13,6 +13,7 @@ struct sensord_arguments { const char *cgiDir; int scanTime; int logTime; + int logOneline; int rrdTime; int rrdNoAverage; int syslogFacility; diff --git a/prog/sensord/sense.c b/prog/sensord/sense.c index 6ed91a29..3bcd95c4 100644 --- a/prog/sensord/sense.c +++ b/prog/sensord/sense.c @@ -53,13 +53,15 @@ static int idChip(const sensors_chip_name *chip) return -1; } - sensorLog(LOG_INFO, "Chip: %s", name); + if (!sensord_args.logOneline) + sensorLog(LOG_INFO, "Chip: %s", name); adapter = sensors_get_adapter_name(&chip->bus); if (!adapter) sensorLog(LOG_INFO, "Error getting adapter name"); else - sensorLog(LOG_INFO, "Adapter: %s", adapter); + if (!sensord_args.logOneline) + sensorLog(LOG_INFO, "Adapter: %s", adapter); return 0; } @@ -142,9 +144,15 @@ static int do_features(const sensors_chip_name *chip, return -1; } - if (action == DO_READ) - sensorLog(LOG_INFO, " %s: %s", label, formatted); - else + if (action == DO_READ) { + if (sensord_args.logOneline) + sensorLog(LOG_INFO, "Chip: %s Adapter: %s %s: %s", + chipName(chip), + sensors_get_adapter_name(&chip->bus), + label, formatted); + else + sensorLog(LOG_INFO, " %s: %s", label, formatted); + } else sensorLog(LOG_ALERT, "Sensor alarm: Chip %s: %s: %s", chipName(chip), label, formatted); diff --git a/prog/sensord/sensord.8 b/prog/sensord/sensord.8 index 91f22179..a300478f 100644 --- a/prog/sensord/sensord.8 +++ b/prog/sensord/sensord.8 @@ -58,6 +58,8 @@ The time is specified as before; e.g., `30m'. Specify an interval of zero to suppress logging of regular sensor readings. +.IP "-1, --oneline" +Log sensor value, chip, and adapter on one line for easier parsing. .IP "-t, --rrd-interval time" Specify the interval between logging all sensor readings to a round-robin database; the default is to log all readings every five minutes |