From 880be6a94013ba0b7791b0ca1b6e16104f2f0a1c Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Tue, 19 Apr 2011 12:21:57 +0200 Subject: 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 --- src/rt/rust_port.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'src/rt/rust_port.cpp') diff --git a/src/rt/rust_port.cpp b/src/rt/rust_port.cpp index 178b46a7..57d0b216 100644 --- a/src/rt/rust_port.cpp +++ b/src/rt/rust_port.cpp @@ -5,17 +5,16 @@ rust_port::rust_port(rust_task *task, size_t unit_sz) : maybe_proxy(this), task(task), unit_sz(unit_sz), writers(task->dom), chans(task->dom) { - LOG(task, rust_log::MEM | rust_log::COMM, - "new rust_port(task=0x%" PRIxPTR ", unit_sz=%d) -> port=0x%" - PRIxPTR, (uintptr_t)task, unit_sz, (uintptr_t)this); + LOG(task, comm, + "new rust_port(task=0x%" PRIxPTR ", unit_sz=%d) -> port=0x%" + PRIxPTR, (uintptr_t)task, unit_sz, (uintptr_t)this); // Allocate a remote channel, for remote channel data. remote_channel = new (task->dom) rust_chan(task, this, unit_sz); } rust_port::~rust_port() { - LOG(task, rust_log::COMM | rust_log::MEM, - "~rust_port 0x%" PRIxPTR, (uintptr_t) this); + LOG(task, comm, "~rust_port 0x%" PRIxPTR, (uintptr_t) this); // log_state(); @@ -25,7 +24,7 @@ rust_port::~rust_port() { chan->disassociate(); if (chan->ref_count == 0) { - LOG(task, rust_log::COMM, + LOG(task, comm, "chan: 0x%" PRIxPTR " is dormant, freeing", chan); delete chan; } @@ -39,7 +38,7 @@ bool rust_port::receive(void *dptr) { rust_chan *chan = chans[i]; if (chan->buffer.is_empty() == false) { chan->buffer.dequeue(dptr); - LOG(task, rust_log::COMM, "<=== read data ==="); + LOG(task, comm, "<=== read data ==="); return true; } } @@ -47,12 +46,12 @@ bool rust_port::receive(void *dptr) { } void rust_port::log_state() { - LOG(task, rust_log::COMM, + LOG(task, comm, "rust_port: 0x%" PRIxPTR ", associated channel(s): %d", this, chans.length()); for (uint32_t i = 0; i < chans.length(); i++) { rust_chan *chan = chans[i]; - LOG(task, rust_log::COMM, + LOG(task, comm, "\tchan: 0x%" PRIxPTR ", size: %d, remote: %s", chan, chan->buffer.size(), -- cgit v1.2.3