diff options
| author | Marijn Haverbeke <[email protected]> | 2011-04-19 12:21:57 +0200 |
|---|---|---|
| committer | Marijn Haverbeke <[email protected]> | 2011-04-19 16:57:13 +0200 |
| commit | 880be6a94013ba0b7791b0ca1b6e16104f2f0a1c (patch) | |
| tree | ad8c673f13ec8d2d879175be1a006b08cc6d26d3 /src/rt/rust_kernel.cpp | |
| parent | replace error logging with log_err in stdlib and rustc (diff) | |
| download | rust-880be6a94013ba0b7791b0ca1b6e16104f2f0a1c.tar.xz rust-880be6a94013ba0b7791b0ca1b6e16104f2f0a1c.zip | |
Overhaul logging system in runtime
See https://github.com/graydon/rust/wiki/Logging-vision
The runtime logging categories are now treated in the same way as
modules in compiled code. Each domain now has a log_lvl that can be
used to restrict the logging from that domain (will be used to allow
logging to be restricted to a single domain).
Features dropped (can be brought back to life if there is interest):
- Logger indentation
- Multiple categories per log statement
- I possibly broke some of the color code -- it confuses me
Diffstat (limited to 'src/rt/rust_kernel.cpp')
| -rw-r--r-- | src/rt/rust_kernel.cpp | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/rt/rust_kernel.cpp b/src/rt/rust_kernel.cpp index 1eba9585..e1629b4f 100644 --- a/src/rt/rust_kernel.cpp +++ b/src/rt/rust_kernel.cpp @@ -1,11 +1,11 @@ #include "rust_internal.h" -#define KLOG(...) \ - do { \ - if (_log.is_tracing(rust_log::KERN)) { \ - log(rust_log::KERN, __VA_ARGS__); \ - } \ - } while(0) +#define KLOG(...) \ + do { \ + if (log_rt_kern >= log_note) { \ + log(log_note, __VA_ARGS__); \ + } \ + } while (0) rust_kernel::rust_kernel(rust_srv *srv) : _region(&srv->local_region), @@ -123,15 +123,13 @@ rust_kernel::is_deadlocked() { } void -rust_kernel::log(uint32_t type_bits, char const *fmt, ...) { +rust_kernel::log(uint32_t level, char const *fmt, ...) { char buf[BUF_BYTES]; - if (_log.is_tracing(type_bits)) { - va_list args; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); - _log.trace_ln(NULL, type_bits, buf); - va_end(args); - } + va_list args; + va_start(args, fmt); + vsnprintf(buf, sizeof(buf), fmt, args); + _log.trace_ln(NULL, level, buf); + va_end(args); } void |