static void segv_func(int *ptr) {
if (!ptr)
*ptr = 0;
}
int main(void) {
fprintf(stderr, "Failed to open log file\n");
return 1;
}
segv_func(NULL);
return 0;
}
Thread-safe logger library for debugging purposes in C99.
void logger_set_format_options(bool show_date, bool show_thread, bool log_trace_on_fatal)
Configures log formatting options.
bool logger_set_log_file_from_env(const char *const default_filename)
Sets the output file for log messages based on an environment variable.
void logger_set_log_level(enum log_level level)
Sets the current log level.
#define LOG_FATAL(...)
Logs a fatal message and exits the program.
Definition logger.h:318
void logger_set_log_level_from_env(void)
Sets the log level based on an environment variable.
#define LOG(lvl,...)
Logs a message using the default log macro.
Definition logger.h:306
void logger_set_callback(logger_cb_t callback)
Sets a callback function to handle log messages.
@ LOG_ERROR
Definition logger.h:120
@ LOG_TRACE
Definition logger.h:124
@ LOG_INFO
Definition logger.h:123
@ LOG_DEBUG
Definition logger.h:125
@ LOG_WARN
Definition logger.h:122
void log_on_stdout(enum log_level, const char *const, const char *const) NONNULL NULL_TERMINATED_STRING_ARG(2) NULL_TERMINATED_STRING_ARG(3)
Logs a message to stdout using the logger callback.