logging
This commit is contained in:
parent
e21e114313
commit
61b1498d7b
@ -3,7 +3,7 @@ CC=gcc
|
|||||||
CFLAGS=-Wall
|
CFLAGS=-Wall
|
||||||
LDFLAGS=-lwiringPi -lcurl -lconfig
|
LDFLAGS=-lwiringPi -lcurl -lconfig
|
||||||
|
|
||||||
counter: counter.o LS7366R.o influx.o ringbuffer.o led.o
|
counter: counter.o LS7366R.o influx.o ringbuffer.o led.o logging.o
|
||||||
$(CC) -o $@ $(LDFLAGS) $^
|
$(CC) -o $@ $(LDFLAGS) $^
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include "influx.h"
|
#include "influx.h"
|
||||||
#include "ringbuffer.h"
|
#include "ringbuffer.h"
|
||||||
#include "led.h"
|
#include "led.h"
|
||||||
|
#include "logging.h"
|
||||||
|
|
||||||
|
|
||||||
const int CTRL_OUT = 16;
|
const int CTRL_OUT = 16;
|
||||||
@ -51,9 +52,9 @@ void init() {
|
|||||||
void readConfig() {
|
void readConfig() {
|
||||||
config_init(&cfg);
|
config_init(&cfg);
|
||||||
if (! config_read_file(&cfg, "/opt/etc/counter.cfg")) {
|
if (! config_read_file(&cfg, "/opt/etc/counter.cfg")) {
|
||||||
fprintf(stderr, "failed to read config file: %s:%d - %s\n",
|
logmsg(LOG_ERR, "failed to read config file: %s:%d - %s\n",
|
||||||
config_error_file(&cfg), config_error_line(&cfg),
|
config_error_file(&cfg), config_error_line(&cfg),
|
||||||
config_error_text(&cfg));
|
config_error_text(&cfg));
|
||||||
config_destroy(&cfg);
|
config_destroy(&cfg);
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
@ -87,7 +88,7 @@ int main (void) {
|
|||||||
double f = 1.0 / (((double) diff) / 1000000.0);
|
double f = 1.0 / (((double) diff) / 1000000.0);
|
||||||
|
|
||||||
if (settled && (abs(f - lastF) > epsilon)) {
|
if (settled && (abs(f - lastF) > epsilon)) {
|
||||||
fprintf(stderr, "Current f=%f, last f=%f, gradient too large, skipped\n", f, lastF);
|
logmsg(LOG_INFO, "Current f=%f, last f=%f, gradient too large, skipped\n", f, lastF);
|
||||||
skipped++;
|
skipped++;
|
||||||
f = lastF;
|
f = lastF;
|
||||||
}
|
}
|
||||||
@ -100,7 +101,7 @@ int main (void) {
|
|||||||
ledTick = 0;
|
ledTick = 0;
|
||||||
led(E_GREEN, false);
|
led(E_GREEN, false);
|
||||||
if (! settled) {
|
if (! settled) {
|
||||||
fprintf(stderr, "Now it is settled\n");
|
logmsg(LOG_INFO, "Now it is settled\n");
|
||||||
settled = true;
|
settled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include <libconfig.h>
|
#include <libconfig.h>
|
||||||
|
|
||||||
#include "led.h"
|
#include "led.h"
|
||||||
|
#include "logging.h"
|
||||||
|
|
||||||
|
|
||||||
const char INFLUXURL_KEY[] = "influxUrl";
|
const char INFLUXURL_KEY[] = "influxUrl";
|
||||||
@ -70,7 +71,7 @@ static void influxSendRequest() {
|
|||||||
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, influxBuffer);
|
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, influxBuffer);
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
if(res != CURLE_OK) {
|
if(res != CURLE_OK) {
|
||||||
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
|
logmsg(LOG_ERR, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
|
||||||
led(E_RED, true);
|
led(E_RED, true);
|
||||||
}
|
}
|
||||||
curl_easy_cleanup(curl);
|
curl_easy_cleanup(curl);
|
||||||
@ -92,7 +93,7 @@ void influxAddFrequency(double f) {
|
|||||||
influxSendRequest();
|
influxSendRequest();
|
||||||
influxClearBuffer();
|
influxClearBuffer();
|
||||||
totalEntries += entries;
|
totalEntries += entries;
|
||||||
fprintf(stderr, "%u entries sent to database, in total %u, skipped: %u\n", entries, totalEntries, skipped);
|
logmsg(LOG_INFO, "%u entries sent to database, in total %u, skipped: %u\n", entries, totalEntries, skipped);
|
||||||
entries = 0;
|
entries = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
13
src/logging.c
Normal file
13
src/logging.c
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#include <syslog.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
void logmsg(int prio, const char* format, ...) {
|
||||||
|
va_list vl;
|
||||||
|
|
||||||
|
openlog("counter", 0, LOG_LOCAL0);
|
||||||
|
va_start(vl, format);
|
||||||
|
vsyslog(prio, format, vl);
|
||||||
|
va_end(vl);
|
||||||
|
closelog();
|
||||||
|
}
|
||||||
|
|
8
src/logging.h
Normal file
8
src/logging.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef _LOGGING_H_
|
||||||
|
#define _LOGGING_H_
|
||||||
|
|
||||||
|
#include <syslog.h>
|
||||||
|
|
||||||
|
void logmsg(int prio, const char* format, ...);
|
||||||
|
|
||||||
|
#endif // _LOGGING_H_
|
Loading…
x
Reference in New Issue
Block a user