aboutsummaryrefslogtreecommitdiff
path: root/src/rt/rust_kernel.cpp
diff options
context:
space:
mode:
authorMarijn Haverbeke <[email protected]>2011-04-19 12:21:57 +0200
committerMarijn Haverbeke <[email protected]>2011-04-19 16:57:13 +0200
commit880be6a94013ba0b7791b0ca1b6e16104f2f0a1c (patch)
treead8c673f13ec8d2d879175be1a006b08cc6d26d3 /src/rt/rust_kernel.cpp
parentreplace error logging with log_err in stdlib and rustc (diff)
downloadrust-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.cpp26
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