|
PatchworkOS
da8a090
A non-POSIX operating system.
|
Logging. More...
Logging.
Modules | |
| Log file | |
| Userspace kernel log file. | |
| Screen | |
| Screen logging. | |
| Panic | |
| Panic handling. | |
Macros | |
| #define | LOG_MAX_BUFFER 0x1000 |
| Maximum buffer size for various logging buffers. | |
| #define | LOG_DEBUG(format, ...) log_print(LOG_LEVEL_DEBUG, format __VA_OPT__(, ) __VA_ARGS__) |
| #define | LOG_USER(format, ...) log_print(LOG_LEVEL_USER, format __VA_OPT__(, ) __VA_ARGS__) |
| #define | LOG_INFO(format, ...) log_print(LOG_LEVEL_INFO, format __VA_OPT__(, ) __VA_ARGS__) |
| #define | LOG_WARN(format, ...) log_print(LOG_LEVEL_WARN, format __VA_OPT__(, ) __VA_ARGS__) |
| #define | LOG_ERR(format, ...) log_print(LOG_LEVEL_ERR, format __VA_OPT__(, ) __VA_ARGS__) |
| #define | LOG_PANIC(format, ...) log_print(LOG_LEVEL_PANIC, format __VA_OPT__(, ) __VA_ARGS__) |
Enumerations | |
| enum | log_output_t { LOG_OUTPUT_SERIAL = 1 << 0 , LOG_OUTPUT_SCREEN = 1 << 1 , LOG_OUTPUT_FILE = 1 << 2 } |
| Logging output options. More... | |
| enum | log_level_t { LOG_LEVEL_DEBUG , LOG_LEVEL_USER , LOG_LEVEL_INFO , LOG_LEVEL_WARN , LOG_LEVEL_ERR , LOG_LEVEL_PANIC } |
| Log levels. More... | |
Functions | |
| void | log_init (void) |
| Initialize the logging system. | |
| void | log_screen_enable (void) |
| Enable logging to the screen. | |
| void | log_screen_disable (void) |
| Disable logging to the screen. | |
| void | log_nprint (log_level_t level, const char *string, uint64_t length) |
| Print a unformatted log message. | |
| void | log_print (log_level_t level, const char *format,...) |
| Print a formatted log message. | |
| void | log_vprint (log_level_t level, const char *format, va_list args) |
| Print a formatted log message with a va_list. | |
| #define LOG_MAX_BUFFER 0x1000 |
| #define LOG_DEBUG | ( | format, | |
| ... | |||
| ) | log_print(LOG_LEVEL_DEBUG, format __VA_OPT__(, ) __VA_ARGS__) |
| #define LOG_USER | ( | format, | |
| ... | |||
| ) | log_print(LOG_LEVEL_USER, format __VA_OPT__(, ) __VA_ARGS__) |
| #define LOG_INFO | ( | format, | |
| ... | |||
| ) | log_print(LOG_LEVEL_INFO, format __VA_OPT__(, ) __VA_ARGS__) |
| #define LOG_WARN | ( | format, | |
| ... | |||
| ) | log_print(LOG_LEVEL_WARN, format __VA_OPT__(, ) __VA_ARGS__) |
| #define LOG_ERR | ( | format, | |
| ... | |||
| ) | log_print(LOG_LEVEL_ERR, format __VA_OPT__(, ) __VA_ARGS__) |
| #define LOG_PANIC | ( | format, | |
| ... | |||
| ) | log_print(LOG_LEVEL_PANIC, format __VA_OPT__(, ) __VA_ARGS__) |
| enum log_output_t |
| enum log_level_t |
| void log_init | ( | void | ) |
| void log_screen_enable | ( | void | ) |
| void log_screen_disable | ( | void | ) |
| void log_nprint | ( | log_level_t | level, |
| const char * | string, | ||
| uint64_t | length | ||
| ) |
Print a unformatted log message.
log_vprint() regarding the log lock and LOG_LEVEL_PANIC.| level | The log level. |
| string | The message string. |
| length | The length of the message. |
Definition at line 168 of file log.c.
| void log_print | ( | log_level_t | level, |
| const char * | format, | ||
| ... | |||
| ) |
Print a formatted log message.
log_vprint() regarding the log lock and LOG_LEVEL_PANIC.| level | The log level. |
| format | The format string. |
| ... | The format arguments. |
Definition at line 191 of file log.c.
| void log_vprint | ( | log_level_t | level, |
| const char * | format, | ||
| va_list | args | ||
| ) |
Print a formatted log message with a va_list.
LOG_LEVEL_PANIC, this function will not acquire the log lock to avoid recursive panics. Its up to the panic system to ensure all other CPUs are halted before calling this.| level | The log level. |
| format | The format string. |
| args | The va_list of arguments. |
Definition at line 199 of file log.c.