From 571a656a6bd9b4b9d5c595c578d15ba79bb19ef7 Mon Sep 17 00:00:00 2001 From: Samuel Johnson Date: Tue, 1 Jul 2025 10:33:05 -0400 Subject: Add serial logging --- kernel/io/logger/base.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 kernel/io/logger/base.h (limited to 'kernel/io/logger/base.h') diff --git a/kernel/io/logger/base.h b/kernel/io/logger/base.h new file mode 100644 index 0000000..7aa9e2d --- /dev/null +++ b/kernel/io/logger/base.h @@ -0,0 +1,31 @@ +#ifndef HOS_IO_BASE_H +#define HOS_IO_BASE_H + +namespace hos::io +{ + enum log_level + { + DEBUG, + INFO, + WARN, + ERROR, + FATAL + }; + + /// Ah, the glorious CRTP... + template + class logger + { + public: + logger (enum log_level level); + + void set_level (enum log_level level); + void write (enum log_level level, const char *message, ...); + protected: + char buffer[512]; + private: + enum log_level level; + }; +} + +#endif -- cgit v1.2.3