From f3fd118a71ee2e82a2f5f6d1415700c15428538f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 1 Dec 2008 16:08:12 +0000 Subject: Make controller logging work better on python 2.4 (where the "extra" feature of logger.log does not exist.) git-svn-id: file:///home/or/svnrepo/updater/trunk@17431 55e972cd-5a19-0410-ae62-a4d7a52db4cd --- lib/thandy/util.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'lib/thandy/util.py') diff --git a/lib/thandy/util.py b/lib/thandy/util.py index 2a76f54..e9db10a 100644 --- a/lib/thandy/util.py +++ b/lib/thandy/util.py @@ -2,6 +2,7 @@ import logging import os +import re import sys import tempfile import random @@ -198,7 +199,15 @@ def getRegistryValue(keyname): _controlLog = logging.getLogger("thandy-ctrl") +def formatLogString(s): + s = '"%s"' % re.sub(r'(["\\])', r'\\\1', s) + s = s.replace("\n", "\\n") + return s + def logCtrl(key, **args): """DOCDOC""" - _controlLog.log(logging.INFO, key, extra={'cmd_args':args}) + parts = [ key ] + parts.extend( + "%s=%s"%(k, formatLogString(v)) for k,v in sorted(args.iteritems())) + _controlLog.log(logging.INFO, " ".join(parts)) -- cgit v1.2.3