Author: justi9
Date: 2008-12-10 11:42:59 -0500 (Wed, 10 Dec 2008)
New Revision: 2960
Added:
mgmt/trunk/parsley/python/parsley/loggingex.py
Modified:
mgmt/trunk/cumin/python/cumin/__init__.py
mgmt/trunk/cumin/python/cumin/tools.py
mgmt/trunk/mint/bin/mint-server
mgmt/trunk/mint/python/mint/tools.py
Log:
Add a common facility for enabling logging to parsley.
Use it to correct some over-verbose logging in mint and cumin.
Modified: mgmt/trunk/cumin/python/cumin/__init__.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/__init__.py 2008-12-10 15:46:58 UTC (rev 2959)
+++ mgmt/trunk/cumin/python/cumin/__init__.py 2008-12-10 16:42:59 UTC (rev 2960)
@@ -1,7 +1,8 @@
-import sys, os, logging
+import sys, os
from random import randint
from parsley.config import Config, ConfigParameter
+from parsley.loggingex import *
from wooly import Application, Session, Page
from wooly.pages import CssPage, JavascriptPage, ResourcePage
from wooly.server import WebServer
@@ -22,7 +23,7 @@
from wooly import Session
-log = logging.getLogger("cumin")
+log = getLogger("cumin")
class Cumin(Application):
def __init__(self, config):
@@ -131,13 +132,6 @@
return False
class CuminConfig(Config):
- __log_levels = {
- "debug": logging.DEBUG,
- "info": logging.INFO,
- "warning": logging.WARNING,
- "error": logging.ERROR
- }
-
def __init__(self):
super(CuminConfig, self).__init__()
@@ -157,7 +151,7 @@
param.default = os.path.join(self.home, "log", "cumin.log")
param = ConfigParameter(self, "log-level", str)
- param.default = "warning"
+ param.default = "warn"
param = ConfigParameter(self, "debug", bool)
param.default = False
@@ -173,7 +167,7 @@
def init(self):
super(CuminConfig, self).init()
- handler = logging.StreamHandler()
+ handler = StreamHandler()
log.addHandler(handler)
self.load_file(os.path.join(self.home, "etc", "cumin.conf"))
self.load_file(os.path.join(os.path.expanduser("~"),
".cumin.conf"))
@@ -182,45 +176,9 @@
self.init_logging()
def init_logging(self):
- mlog = logging.getLogger("mint")
+ enable_logging("mint", self.log_level, self.log_file)
+ enable_logging("cumin", self.log_level, self.log_file)
- level = self.get_log_level()
- formatter = logging.Formatter \
- ("%(asctime)s %(levelname)-8s %(message)s")
-
- log.setLevel(level)
- mlog.setLevel(level)
-
- try:
- handler = logging.FileHandler(self.log_file)
- handler.setLevel(level)
- handler.setFormatter(formatter)
-
- log.addHandler(handler)
- mlog.addHandler(handler)
- except IOError, e:
- log.warn("Can't write to log file '%s': %s" %
(self.log_file, e))
-
if self.debug:
- level = logging.DEBUG
- formatter = logging.Formatter("%(name)-12s - %(message)s")
-
- log.setLevel(level)
- mlog.setLevel(level)
-
- handler = logging.StreamHandler()
- handler.setLevel(level)
- handler.setFormatter(formatter)
-
- log.addHandler(handler)
- mlog.addHandler(handler)
-
- def get_log_level(self):
- try:
- level = self.__log_levels[self.log_level.lower()]
- except KeyError:
- log.warn("Level '%s' is unknown; setting level to
'warning'" % \
- self.log_level)
- level = logging.WARNING
-
- return level
+ enable_logging("mint", "debug", sys.stderr)
+ enable_logging("cumin", "debug", sys.stderr)
Modified: mgmt/trunk/cumin/python/cumin/tools.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/tools.py 2008-12-10 15:46:58 UTC (rev 2959)
+++ mgmt/trunk/cumin/python/cumin/tools.py 2008-12-10 16:42:59 UTC (rev 2960)
@@ -43,7 +43,7 @@
opt = CommandOption(self, "log-level")
opt.argument = "LEVEL"
opt.description = "Log messages at or above LEVEL " + \
- "('debug', 'info', 'warning',
'error')"
+ "('debug', 'info', 'warn',
'error')"
opt = CommandOption(self, "debug")
opt.description = "Enable debugging; print logging to console"
Modified: mgmt/trunk/mint/bin/mint-server
===================================================================
--- mgmt/trunk/mint/bin/mint-server 2008-12-10 15:46:58 UTC (rev 2959)
+++ mgmt/trunk/mint/bin/mint-server 2008-12-10 16:42:59 UTC (rev 2960)
@@ -5,13 +5,6 @@
from mint.tools import MintServerTool
def main():
- root = logging.getLogger("mint")
- root.setLevel(logging.DEBUG)
-
- h = logging.StreamHandler()
- h.setLevel(logging.DEBUG)
- root.addHandler(h)
-
MintServerTool("mint-server").main()
if __name__ == "__main__":
Modified: mgmt/trunk/mint/python/mint/tools.py
===================================================================
--- mgmt/trunk/mint/python/mint/tools.py 2008-12-10 15:46:58 UTC (rev 2959)
+++ mgmt/trunk/mint/python/mint/tools.py 2008-12-10 16:42:59 UTC (rev 2960)
@@ -3,6 +3,7 @@
from time import sleep, clock
from parsley.config import *
from parsley.command import *
+from parsley.loggingex import *
from mint import *
@@ -21,7 +22,7 @@
opt = CommandOption(self, "log-level")
opt.argument = "LEVEL"
opt.description = "Log messages at or above LEVEL " + \
- "('debug', 'info', 'warning',
'error')"
+ "('debug', 'info', 'warn',
'error')"
opt = CommandOption(self, "debug")
opt.description = "Enable debugging; print logging to console"
@@ -45,9 +46,6 @@
#self.config.init()
def run(self):
- pass
-
- def run(self):
try:
opts, args = self.parse(sys.argv)
except CommandException, e:
@@ -59,6 +57,14 @@
self.print_help()
sys.exit(0)
+ level = opts.get("log-level", "warn")
+ file = opts.get("log-file", sys.stderr)
+
+ enable_logging("mint", level, file)
+
+ if "debug" in opts:
+ enable_logging("mint", "debug", sys.stderr)
+
self.do_run(opts, args)
def do_run(self, opts, args):
Added: mgmt/trunk/parsley/python/parsley/loggingex.py
===================================================================
--- mgmt/trunk/parsley/python/parsley/loggingex.py (rev 0)
+++ mgmt/trunk/parsley/python/parsley/loggingex.py 2008-12-10 16:42:59 UTC (rev 2960)
@@ -0,0 +1,26 @@
+from logging import *
+
+levels = {
+ "debug": DEBUG,
+ "info": INFO,
+ "warn": WARN,
+ "error": ERROR,
+ "critical": CRITICAL
+ }
+
+def enable_logging(name, level, file):
+ assert level
+ assert file
+
+ if type(level) is str:
+ level = levels[level.lower()]
+
+ if type(file) is str:
+ file = open(file, "a")
+
+ handler = StreamHandler(file)
+ handler.setFormatter(Formatter("%(asctime)s %(levelname)s %(message)s"))
+
+ log = getLogger(name)
+ log.addHandler(handler)
+ log.setLevel(level)