summaryrefslogtreecommitdiff
path: root/prog
diff options
context:
space:
mode:
authorOndřej Lysoněk <olysonek@redhat.com>2018-12-30 14:59:29 +0100
committerGitHub <noreply@github.com>2018-12-30 14:59:29 +0100
commit097432dd0167d95b469ea1914f0bfd05bff76432 (patch)
treef1d095481166eb96e44852edbf4d8bbfaa214fea /prog
parent84f773b3ec8b75f377a68fd1436ea3ac6d11b170 (diff)
parentc7c6e66328c99fe67afe8307b03c552a21bc1f06 (diff)
downloadlm-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.c7
-rw-r--r--prog/sensord/args.h1
-rw-r--r--prog/sensord/sense.c18
-rw-r--r--prog/sensord/sensord.82
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