52 strncpy(log_filename, log_file,
sizeof(log_filename) - 1);
55 FILE *log_fp = fopen(log_filename,
"a");
57 printf(
"Error: failed to open log file\n");
63 log_fp = freopen(log_filename,
"w", log_fp);
65 printf(
"Error: failed to reset log file size\n");
71 if (ftell(log_fp) == 0) {
72 fprintf(log_fp,
"# RocketLogger Log File\n");
89 if (log_level > log_verbosity) {
95 va_start(args, format);
103 time_info = gmtime(&time_raw);
104 strftime(time_str,
sizeof(time_str),
"%F %T\t", time_info);
107 FILE *log_fp = fopen(log_filename,
"a");
108 if (log_fp == NULL) {
109 printf(
"Error: failed to open log file\n");
114 fprintf(log_fp,
"%s", time_str);
117 fprintf(log_fp,
"ERROR\t");
120 fprintf(log_fp,
"WARN\t");
123 fprintf(log_fp,
"INFO\t");
126 fprintf(log_fp,
"VERB\t");
130 fprintf(log_fp,
"N/A\t");
131 printf(
"Error: unsupported log level with message:\n ");
134 vfprintf(log_fp, format, args);
135 fprintf(log_fp,
"\n");
158 vprintf(format, args);
void rl_log_verbosity(rl_log_level_t verbosity)
int rl_log(rl_log_level_t log_level, char const *const format,...)
int rl_log_init(char const *const log_file, rl_log_level_t verbosity)
#define RL_LOG_FILE_SIZE_MAX
Maximum log file size in bytes.
#define RL_LOG_DEFAULT_FILE
Default log file name.
#define RL_LOG_PATH_LENGTH_MAX
Maximum log file name path length.
enum rl_log_level rl_log_level_t
@ RL_LOG_INFO
Information.
@ RL_LOG_IGNORE
Ignore log (only for verbosity configuration)