Add basics for context-based Logger

This commit is contained in:
gingerBill
2018-10-20 13:02:30 +01:00
parent 72f4186b21
commit 099995e7dd
3 changed files with 39 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
package log
Level :: enum {
Debug,
Info,
Warning,
Error,
Fatal,
}
Option :: enum {
Level,
Time,
File,
Line,
Procedure,
}
Options :: bit_set[Option];
Logger_Proc :: #type proc(data: rawptr, level: Level, ident, text: string, options: Options, location := #caller_location);
Logger :: struct {
procedure: Logger_Proc,
data: rawptr,
}
nil_logger_proc :: proc(data: rawptr, level: Level, ident, text: string, options: Options, location := #caller_location) {
// Do nothing
}
nil_logger :: proc() -> Logger {
return Logger{nil_logger_proc, nil};
}