38 lines
1,010 B
C
38 lines
1,010 B
C
#include "logger.h"
|
|
#include "../drivers/serial.h"
|
|
#include "../drivers/vga.h"
|
|
|
|
void logger_init(void) {
|
|
serial_init();
|
|
log_info(LOG_NORMAL, "Logger ready");
|
|
}
|
|
|
|
void klog(log_level_t level, const char* prefix, const char* message) {
|
|
// 1. Форматируем и отправляем в Serial в любом случае
|
|
kprint_serial("[");
|
|
kprint_serial(prefix);
|
|
kprint_serial("] ");
|
|
kprint_serial(message);
|
|
kprint_serial("\n");
|
|
|
|
// 2. Если уровень LOG_NORMAL, дублируем вывод на экран VGA
|
|
if (level == LOG_NORMAL) {
|
|
vga_print("[");
|
|
vga_print(prefix);
|
|
vga_print("] ");
|
|
vga_print(message);
|
|
vga_print("\n");
|
|
}
|
|
}
|
|
|
|
void log_info(log_level_t level, const char* message) {
|
|
klog(level, "INFO", message);
|
|
}
|
|
|
|
void log_warn(log_level_t level, const char* message) {
|
|
klog(level, "WARN", message);
|
|
}
|
|
|
|
void log_error(log_level_t level, const char* message) {
|
|
klog(level, "ERROR", message);
|
|
}
|