diff options
author | Samuel Johnson <[email protected]> | 2025-07-01 10:33:05 -0400 |
---|---|---|
committer | Samuel Johnson <[email protected]> | 2025-07-01 10:33:05 -0400 |
commit | 571a656a6bd9b4b9d5c595c578d15ba79bb19ef7 (patch) | |
tree | 46f75b47f4edab4281de14ffa1c4a91a5a84f8f1 /kernel/io/logger/base.h | |
parent | 12fd3a91f138bf90520134682e38bf3b0341e660 (diff) |
Diffstat (limited to 'kernel/io/logger/base.h')
-rw-r--r-- | kernel/io/logger/base.h | 31 |
1 files changed, 31 insertions, 0 deletions
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 <typename concrete_logger> + 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 |