36 lines
1.1 KiB
C
36 lines
1.1 KiB
C
/**
|
|
* Contains the logging framework used for logging errors during compilation.
|
|
*/
|
|
#ifndef LOG_H
|
|
#define LOG_H
|
|
|
|
/**
|
|
* A method that can log an error.
|
|
*/
|
|
typedef void LogError(const char* msg);
|
|
|
|
/**
|
|
* Sets the destination for log errors.
|
|
*/
|
|
void log_set_output(LogError* destination);
|
|
|
|
/**
|
|
* Logs an error to the destination.
|
|
*/
|
|
void log_error(const char* msg);
|
|
|
|
/**
|
|
* Logs a pretty error with additional information about the line where the error occurred.
|
|
*
|
|
* @param filename The name of the file where the error occurred.
|
|
* @param line_text The entire line of text where the error occurred.
|
|
* @param line The line number where the error occurred.
|
|
* @param from The column number where the error starts.
|
|
* @param to The column number where the error ends.
|
|
* @param msg The error message to log. This can contain format specifiers like printf, and the additional arguments will be formatted into the message.
|
|
* @param ... Additional arguments to format into the error message.
|
|
*/
|
|
void log_on_line(const char* filename, const char* line_text, int line, int from, int to, const char* msg, ...);
|
|
|
|
#endif
|