commit 51cae9c5b64d134cc1c54f65ec6098f6ea2c0125 Author: Damian Johnson atagar@torproject.org Date: Sat Jun 21 14:08:25 2014 -0700
Moving logging functions to a log util
Moving our short aliases like debug() and notice() from arm.util to arm.util.log to better namespace them. --- arm/starter.py | 20 ++++++++++---------- arm/util/__init__.py | 42 ++++-------------------------------------- arm/util/log.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ arm/util/tracker.py | 22 +++++++++++----------- arm/util/ui_tools.py | 6 +++--- 5 files changed, 72 insertions(+), 62 deletions(-)
diff --git a/arm/starter.py b/arm/starter.py index 2131b8c..ea8e17b 100644 --- a/arm/starter.py +++ b/arm/starter.py @@ -25,7 +25,7 @@ import stem import stem.util.log import stem.util.system
-from arm.util import BASE_DIR, init_controller, msg, trace, info, notice, warn, uses_settings +from arm.util import log, BASE_DIR, init_controller, msg, uses_settings
@uses_settings @@ -132,7 +132,7 @@ def _setup_debug_logging(args): except IOError as exc: armrc_content = "[unable to read file: %s]" % exc.strerror
- trace( + log.trace( 'debug.header', arm_version = arm.__version__, stem_version = stem.__version__, @@ -160,14 +160,14 @@ def _load_user_armrc(path, config): chroot = config.get('tor.chroot', '').strip().rstrip(os.path.sep)
if chroot and not os.path.exists(chroot): - notice('setup.chroot_doesnt_exist', path = chroot) + log.notice('setup.chroot_doesnt_exist', path = chroot) config.set('tor.chroot', '') else: config.set('tor.chroot', chroot) # use the normalized path except IOError as exc: - warn('config.unable_to_read_file', error = exc.strerror) + log.warn('config.unable_to_read_file', error = exc.strerror) else: - notice('config.nothing_loaded', path = path) + log.notice('config.nothing_loaded', path = path)
def _warn_if_root(controller): @@ -178,10 +178,10 @@ def _warn_if_root(controller): tor_user = controller.get_user(None)
if tor_user == 'root': - notice('setup.tor_is_running_as_root') + log.notice('setup.tor_is_running_as_root') elif os.getuid() == 0: tor_user = tor_user if tor_user else '<tor user>' - notice('setup.arm_is_running_as_root', tor_user = tor_user) + log.notice('setup.arm_is_running_as_root', tor_user = tor_user)
def _warn_if_unable_to_get_pid(controller): @@ -193,7 +193,7 @@ def _warn_if_unable_to_get_pid(controller): try: controller.get_pid() except ValueError: - warn('setup.unable_to_determine_pid') + log.warn('setup.unable_to_determine_pid')
@uses_settings @@ -206,7 +206,7 @@ def _setup_freebsd_chroot(controller, config): jail_chroot = stem.util.system.get_bsd_jail_path(controller.get_pid(0))
if jail_chroot and os.path.exists(jail_chroot): - info('setup.set_freebsd_chroot', path = jail_chroot) + log.info('setup.set_freebsd_chroot', path = jail_chroot) config.set('tor.chroot', jail_chroot)
@@ -218,7 +218,7 @@ def _notify_of_unknown_events(): missing_events = arm.arguments.missing_event_types()
if missing_events: - info('setup.unknown_event_types', event_types = ', '.join(missing_events)) + log.info('setup.unknown_event_types', event_types = ', '.join(missing_events))
@uses_settings diff --git a/arm/util/__init__.py b/arm/util/__init__.py index 3853b3d..de40170 100644 --- a/arm/util/__init__.py +++ b/arm/util/__init__.py @@ -4,6 +4,7 @@ safely working with curses (hiding some of the gory details). """
__all__ = [ + 'log', 'panel', 'text_input', 'tor_config', @@ -16,7 +17,8 @@ import sys
import stem.connection import stem.util.conf -import stem.util.log + +from arm.util import log
TOR_CONTROLLER = None BASE_DIR = os.path.sep.join(__file__.split(os.path.sep)[:-2]) @@ -65,41 +67,5 @@ def msg(message, config, **attr): try: return config.get('msg.%s' % message).format(**attr) except: - notice('BUG: We attempted to use an undefined string resource (%s)' % message) + log.notice('BUG: We attempted to use an undefined string resource (%s)' % message) return '' - - -def trace(msg, **attr): - _log(stem.util.log.TRACE, msg, **attr) - - -def debug(msg, **attr): - _log(stem.util.log.DEBUG, msg, **attr) - - -def info(msg, **attr): - _log(stem.util.log.INFO, msg, **attr) - - -def notice(msg, **attr): - _log(stem.util.log.NOTICE, msg, **attr) - - -def warn(msg, **attr): - _log(stem.util.log.WARN, msg, **attr) - - -def error(msg, **attr): - _log(stem.util.log.ERROR, msg, **attr) - - -def _log(runlevel, message, **attr): - """ - Logs the given message, formatted with optional attributes. - - :param stem.util.log.Runlevel runlevel: runlevel at which to log the message - :param str message: message handle to log - :param dict attr: attributes to format the message with - """ - - stem.util.log.log(runlevel, msg(message, **attr)) diff --git a/arm/util/log.py b/arm/util/log.py new file mode 100644 index 0000000..72c1d9d --- /dev/null +++ b/arm/util/log.py @@ -0,0 +1,44 @@ +""" +Logging utilities, primiarily short aliases for logging a message at various +runlevels. +""" + +import stem.util.log + +import arm.util + + +def trace(msg, **attr): + _log(stem.util.log.TRACE, msg, **attr) + + +def debug(msg, **attr): + _log(stem.util.log.DEBUG, msg, **attr) + + +def info(msg, **attr): + _log(stem.util.log.INFO, msg, **attr) + + +def notice(msg, **attr): + _log(stem.util.log.NOTICE, msg, **attr) + + +def warn(msg, **attr): + _log(stem.util.log.WARN, msg, **attr) + + +def error(msg, **attr): + _log(stem.util.log.ERROR, msg, **attr) + + +def _log(runlevel, message, **attr): + """ + Logs the given message, formatted with optional attributes. + + :param stem.util.log.Runlevel runlevel: runlevel at which to log the message + :param str message: message handle to log + :param dict attr: attributes to format the message with + """ + + stem.util.log.log(runlevel, arm.util.msg(message, **attr)) diff --git a/arm/util/tracker.py b/arm/util/tracker.py index a10d291..e5d819d 100644 --- a/arm/util/tracker.py +++ b/arm/util/tracker.py @@ -42,7 +42,7 @@ import threading from stem.control import State from stem.util import conf, connection, proc, str_tools, system
-from arm.util import tor_controller, debug, info, notice +from arm.util import log, tor_controller
CONFIG = conf.config_dict('arm', { 'queries.connections.rate': 5, @@ -459,13 +459,13 @@ class ConnectionTracker(Daemon): min_rate += 1 # little extra padding so we don't frequently update this self.set_rate(min_rate) self._rate_too_low_count = 0 - debug('tracker.lookup_rate_increased', seconds = "%0.1f" % min_rate) + log.debug('tracker.lookup_rate_increased', seconds = "%0.1f" % min_rate) else: self._rate_too_low_count = 0
return True except IOError as exc: - info('wrap', text = exc) + log.info('wrap', text = exc)
# Fail over to another resolver if we've repeatedly been unable to use # this one. @@ -478,13 +478,13 @@ class ConnectionTracker(Daemon): self._failure_count = 0
if self._resolvers: - notice( + log.notice( 'tracker.unable_to_use_resolver', old_resolver = resolver, new_resolver = self._resolvers[0], ) else: - notice('tracker.unable_to_use_all_resolvers') + log.notice('tracker.unable_to_use_all_resolvers')
return False
@@ -576,19 +576,19 @@ class ResourceTracker(Daemon): self._use_proc = False self._failure_count = 0
- info( + log.info( 'tracker.abort_getting_resources', resolver = 'proc', response = 'falling back to ps', exc = exc, ) else: - debug('tracker.unable_to_get_resources', resolver = 'proc', exc = exc) + log.debug('tracker.unable_to_get_resources', resolver = 'proc', exc = exc) else: if self._failure_count >= 3: # Give up on further attempts.
- info( + log.info( 'tracker.abort_getting_resources', resolver = 'ps', response = 'giving up on getting resource usage information', @@ -597,7 +597,7 @@ class ResourceTracker(Daemon):
self.stop() else: - debug('tracker.unable_to_get_resources', resolver = 'ps', exc = exc) + log.debug('tracker.unable_to_get_resources', resolver = 'ps', exc = exc)
return False
@@ -654,9 +654,9 @@ class PortUsageTracker(Daemon): self._failure_count += 1
if self._failure_count >= 3: - info('tracker.abort_getting_port_usage', exc = exc) + log.info('tracker.abort_getting_port_usage', exc = exc) self.stop() else: - debug('tracker.unable_to_get_port_usages', exc = exc) + log.debug('tracker.unable_to_get_port_usages', exc = exc)
return False diff --git a/arm/util/ui_tools.py b/arm/util/ui_tools.py index 2b24b83..01daffa 100644 --- a/arm/util/ui_tools.py +++ b/arm/util/ui_tools.py @@ -7,7 +7,7 @@ import curses
from curses.ascii import isprint
-from arm.util import info, msg +from arm.util import log, msg
from stem.util import conf, enum, system
@@ -137,10 +137,10 @@ def _color_attr(): curses.init_pair(color_pair + 1, foreground_color, background_color) color_attr[color_name] = curses.color_pair(color_pair + 1)
- info('setup.color_support_available') + log.info('setup.color_support_available') COLOR_ATTR = color_attr else: - info('setup.color_support_unavailable') + log.info('setup.color_support_unavailable') COLOR_ATTR = DEFAULT_COLOR_ATTR
return COLOR_ATTR
tor-commits@lists.torproject.org