fix: better logging behaviour

This commit is contained in:
Tobias Reisinger 2020-07-26 21:05:41 +02:00
parent 011c5a6102
commit 0530a350df
30 changed files with 343 additions and 176 deletions

View file

@ -2,6 +2,7 @@
#define CONTROLLER_CONFIG_H
#include <stdint.h>
#include <confini.h>
#include <constants.h>
#include <enums.h>
@ -14,11 +15,17 @@ typedef struct
uint8_t pulse_duration;
} config_relay_t;
int
config_load(IniDispatch *disp, void *config_void);
typedef struct
{
char *file;
char database[256];
log_level_t log_level;
char user[256];
char group[256];
int log_level;
FILE *log_file;
run_type_t run_type;
char name[MAX_NAME_LENGTH + 1];
uint16_t discovery_port;

View file

@ -53,14 +53,4 @@ typedef enum
RUN_TYPE_TEST,
} run_type_t;
typedef enum
{
LOG_LEVEL_TRACE = 5,
LOG_LEVEL_DEBUG = 4,
LOG_LEVEL_INFO = 3,
LOG_LEVEL_WARN = 2,
LOG_LEVEL_ERROR = 1,
LOG_LEVEL_FATAL = 0,
} log_level_t;
#endif /* CONTROLLER_ENUMS_H */

View file

@ -2,7 +2,6 @@
#define CONTROLLER_HELPERS_H
#include <time.h>
#include <confini.h>
#include <config.h>
int
@ -26,13 +25,13 @@ helper_get_port(int sock);
int
helper_open_discovery_socket(uint16_t discovery_port);
int
helper_load_config(IniDispatch *disp, void *config_void);
void
helper_parse_cli(int argc, const char **argv, config_t *config);
int
helper_get_weekday(const struct tm *time_struct);
int
helper_drop_privileges();
#endif /* CONTROLLER_HELPERS_H */

View file

@ -1,20 +1,22 @@
#ifndef CONTROLLER_LOGGER_H
#define CONTROLLER_LOGGER_H
#ifndef CORE_LOGGER_H
#define CORE_LOGGER_H
#include <stdio.h>
#include <time.h>
#include <syslog.h>
#include <colors.h>
#include <config.h>
void
logger_log(FILE *stream, log_level_t level, const char *filename, int line, const char *func, const char *msg, ...);
logger_log(int level, const char *filename, int line, const char *func, const char *msg, ...);
#define LOG_TRACE(...) logger_log(stdout, LOG_LEVEL_TRACE, __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOG_DEBUG(...) logger_log(stdout, LOG_LEVEL_DEBUG, __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOG_INFO(...) logger_log(stdout, LOG_LEVEL_INFO , __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOG_WARN(...) logger_log(stdout, LOG_LEVEL_WARN , __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOG_ERROR(...) logger_log(stderr, LOG_LEVEL_ERROR, __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOG_FATAL(...) logger_log(stderr, LOG_LEVEL_FATAL, __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOGGER_DEBUG(...) logger_log(LOG_DEBUG , __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOGGER_INFO(...) logger_log(LOG_INFO , __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOGGER_NOTICE(...) logger_log(LOG_NOTICE , __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOGGER_WARNING(...) logger_log(LOG_WARNING, __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOGGER_ERR(...) logger_log(LOG_ERR , __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOGGER_CRIT(...) logger_log(LOG_CRIT , __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#define LOGGER_EMERG(...) logger_log(LOG_EMERG , __FILE__, __LINE__, __func__, ##__VA_ARGS__)
#endif //CONTROLLER_LOGGER_H
#endif //CORE_LOGGER_H

View file

@ -4,7 +4,7 @@
#include <logger.h>
#ifdef WIRING_PI_DEBUG
#define LOG_WIRING_PI LOG_TRACE
#define LOG_WIRING_PI LOGGER_DEBUG
#define wiringPiSetup() LOG_WIRING_PI("wiringPi wiringPiSetup()\n")
#define wiringPiSetupSys() LOG_WIRING_PI("wiringPi wiringPiSetupSys()\n")
#define pinMode(x,y) LOG_WIRING_PI("wiringPi pinMode(%d, %d)\n", x, y)