diff options
| author | Marijn Haverbeke <marijnh@gmail.com> | 2011-04-19 12:21:57 +0200 |
|---|---|---|
| committer | Marijn Haverbeke <marijnh@gmail.com> | 2011-04-19 16:57:13 +0200 |
| commit | 880be6a94013ba0b7791b0ca1b6e16104f2f0a1c (patch) | |
| tree | ad8c673f13ec8d2d879175be1a006b08cc6d26d3 /src/rt/rust_kernel.cpp | |
| parent | 6511d471bafd446026462ce0dba8ef5e2ebf462f (diff) | |
| download | rust-880be6a94013ba0b7791b0ca1b6e16104f2f0a1c.tar.gz 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 1eba9585ad6..e1629b4fbf3 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 |
