Untangle XendRoot and XendLogging by having XendLogging check the global

params.XEND_DEBUG value itself.  This removes the need for addLogStderr and
removeLogStderr.  Remove the maxBytes and backupCount parameters to init, as
they are unused and we only use the hardcoded values anyway.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
This commit is contained in:
emellor@leeni.uk.xensource.com committed 2006-03-10 11:38:15 +01:00
1 parent e3667a70ba
commit 95c4e70768
2 files changed
+23 -36

No files matched your search

+18 -30
View File
@@ -13,7 +13,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#============================================================================
# Copyright (C) 2004, 2005 Mike Wray <mike.wray@hp.com>
# Copyright (C) 2005 XenSource Ltd
# Copyright (C) 2005, 2006 XenSource Ltd.
#============================================================================
@@ -22,9 +22,10 @@ import types
import logging
import logging.handlers
from xen.xend.server import params
__all__ = [ 'log', 'init', 'getLogFilename', 'addLogStderr',
'removeLogStderr' ]
__all__ = [ 'log', 'init', 'getLogFilename' ]
if not 'TRACE' in logging.__dict__:
@@ -38,37 +39,28 @@ if not 'TRACE' in logging.__dict__:
log = logging.getLogger("xend")
DEFAULT_MAX_BYTES = 1 << 20 # 1MB
DEFAULT_BACKUP_COUNT = 5
MAX_BYTES = 1 << 20 # 1MB
BACKUP_COUNT = 5
STDERR_FORMAT = "[%(name)s] %(levelname)s (%(module)s:%(lineno)d) %(message)s"
LOGFILE_FORMAT = "[%(asctime)s %(name)s] %(levelname)s (%(module)s:%(lineno)d) %(message)s"
DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
stderrHandler = logging.StreamHandler()
stderrHandler.setFormatter(logging.Formatter(STDERR_FORMAT, DATE_FORMAT))
logfilename = None
def init(filename, level=logging.INFO, maxBytes=None, backupCount=None):
"""Initialise logging. Logs to 'filename' by default, but does not log to
stderr unless addLogStderr() is called.
def init(filename, level):
"""Initialise logging. Logs to the given filename, and logs to stderr if
XEND_DEBUG is set.
"""
global logfilename
def openFileHandler(fname):
return logging.handlers.RotatingFileHandler(fname,
mode='a',
maxBytes=maxBytes,
backupCount=backupCount)
if not maxBytes:
maxBytes = DEFAULT_MAX_BYTES
if not backupCount:
backupCount = DEFAULT_BACKUP_COUNT
return logging.handlers.RotatingFileHandler(fname, mode = 'a',
maxBytes = MAX_BYTES,
backupCount = BACKUP_COUNT)
# Rather unintuitively, getLevelName will get the number corresponding to
# a level name, as well as getting the name corresponding to a level
@@ -89,16 +81,12 @@ def init(filename, level=logging.INFO, maxBytes=None, backupCount=None):
fileHandler.setFormatter(logging.Formatter(LOGFILE_FORMAT, DATE_FORMAT))
log.addHandler(fileHandler)
if params.XEND_DEBUG:
stderrHandler = logging.StreamHandler()
stderrHandler.setFormatter(logging.Formatter(STDERR_FORMAT,
DATE_FORMAT))
log.addHandler(stderrHandler)
def getLogFilename():
return logfilename
def addLogStderr():
"""Add logging to stderr."""
log.addHandler(stderrHandler)
def removeLogStderr():
"""Remove logging to stderr."""
log.removeHandler(stderrHandler)
+5 -6
View File
@@ -102,15 +102,14 @@ class XendRoot:
"""
print >>sys.stderr, "xend [ERROR]", fmt % args
def configure(self):
self.set_config()
logfile = self.get_config_value("logfile", self.logfile_default)
loglevel = self.get_config_value("loglevel", self.loglevel_default)
XendLogging.init(logfile, level = loglevel)
XendLogging.init(self.get_config_value("logfile",
self.logfile_default),
self.get_config_value("loglevel",
self.loglevel_default))
from xen.xend.server import params
if params.XEND_DEBUG:
XendLogging.addLogStderr()
def set_config(self):
"""If the config file exists, read it. If not, ignore it.
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.