commit 26ded909760b5e143e8a6bf061b8fa9b1d44ef39 Author: Damian Johnson atagar@torproject.org Date: Mon Apr 18 11:33:43 2016 -0700
Fix nyx error logging
Log messages at our error level weren't being displayed. This is because we logged them as 'NYX_ERROR' but expected 'NYX_ERR'.
We were attempted to name our runlevels after tor but on reflection lets not - tor's names suck. Showing our actual runlevel names which are...
* WARN => WARNING * ERR => ERROR --- nyx/arguments.py | 10 ++++------ nyx/log.py | 14 +++++++++++--- nyx/panel/log.py | 3 --- nyx/settings/attributes.cfg | 4 ++-- 4 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/nyx/arguments.py b/nyx/arguments.py index e70278b..ad8ea4a 100644 --- a/nyx/arguments.py +++ b/nyx/arguments.py @@ -10,6 +10,7 @@ import getopt import os
import nyx +import nyx.log
import stem.util.connection
@@ -215,12 +216,9 @@ def expand_events(flags):
expanded_events, invalid_flags = set(), ''
- tor_runlevels = ['DEBUG', 'INFO', 'NOTICE', 'WARN', 'ERR'] - nyx_runlevels = ['NYX_' + runlevel for runlevel in tor_runlevels] - for flag in flags: if flag == 'A': - return set(list(TOR_EVENT_TYPES) + nyx_runlevels + ['UNKNOWN']) + return set(list(TOR_EVENT_TYPES) + nyx.log.NYX_RUNLEVELS + ['UNKNOWN']) elif flag == 'X': return set() elif flag in 'DINWE12345': @@ -238,9 +236,9 @@ def expand_events(flags): runlevel_index = 4
if flag in 'DINWE': - runlevels = tor_runlevels[runlevel_index:] + runlevels = nyx.log.TOR_RUNLEVELS[runlevel_index:] elif flag in '12345': - runlevels = nyx_runlevels[runlevel_index:] + runlevels = nyx.log.NYX_RUNLEVELS[runlevel_index:]
expanded_events.update(set(runlevels)) elif flag == 'U': diff --git a/nyx/log.py b/nyx/log.py index ec09c3f..2a60a9e 100644 --- a/nyx/log.py +++ b/nyx/log.py @@ -61,6 +61,7 @@ except ImportError: from stem.util.lru_cache import lru_cache
TOR_RUNLEVELS = ['DEBUG', 'INFO', 'NOTICE', 'WARN', 'ERR'] +NYX_RUNLEVELS = ['NYX_DEBUG', 'NYX_INFO', 'NYX_NOTICE', 'NYX_WARNING', 'NYX_ERROR'] TIMEZONE_OFFSET = time.altzone if time.localtime()[8] else time.timezone
@@ -133,9 +134,16 @@ def condense_runlevels(*events): tor_runlevels.append(r) events.remove(r)
- if 'NYX_%s' % r in events: + if r == 'WARN': + nyx_runlevel = 'NYX_WARNING' + elif r == 'ERR': + nyx_runlevel = 'NYX_ERROR' + else: + nyx_runlevel = 'NYX_%s' % r + + if nyx_runlevel in events: nyx_runlevels.append(r) - events.remove('NYX_%s' % r) + events.remove(nyx_runlevel)
tor_ranges = ranges(tor_runlevels) nyx_ranges = ranges(nyx_runlevels) @@ -180,7 +188,7 @@ def listen_for_events(listener, events): # accounts for runlevel naming difference
tor_events = events.intersection(set(nyx.arguments.TOR_EVENT_TYPES.values())) - nyx_events = events.intersection(set(['NYX_%s' % runlevel for runlevel in TOR_RUNLEVELS])) + nyx_events = events.intersection(set(NYX_RUNLEVELS))
# adds events unrecognized by nyx if we're listening to the 'UNKNOWN' type
diff --git a/nyx/panel/log.py b/nyx/panel/log.py index 3e8932d..278c633 100644 --- a/nyx/panel/log.py +++ b/nyx/panel/log.py @@ -378,9 +378,6 @@ class LogPanel(nyx.panel.DaemonPanel): self._register_event(nyx.log.LogEntry(event.arrived_at, event.type, msg))
def _register_nyx_event(self, record): - if record.levelname == 'WARNING': - record.levelname = 'WARN' - self._register_event(nyx.log.LogEntry(int(record.created), 'NYX_%s' % record.levelname, record.msg))
def _register_event(self, event): diff --git a/nyx/settings/attributes.cfg b/nyx/settings/attributes.cfg index fcc78f3..37e8ebc 100644 --- a/nyx/settings/attributes.cfg +++ b/nyx/settings/attributes.cfg @@ -48,8 +48,8 @@ attr.log_color ERR => Red attr.log_color NYX_DEBUG => Magenta attr.log_color NYX_INFO => Blue attr.log_color NYX_NOTICE => Green -attr.log_color NYX_WARN => Yellow -attr.log_color NYX_ERR => Red +attr.log_color NYX_WARNING => Yellow +attr.log_color NYX_ERROR => Red
attr.log_color CIRC => Yellow attr.log_color BW => Cyan
tor-commits@lists.torproject.org