[Pymoul-svn] SF.net SVN: pymoul: [182] pymoul/trunk/src/moul
Status: Alpha
Brought to you by:
tiran
From: <ti...@us...> - 2007-02-22 14:42:23
|
Revision: 182 http://pymoul.svn.sourceforge.net/pymoul/?rev=182&view=rev Author: tiran Date: 2007-02-22 06:42:24 -0800 (Thu, 22 Feb 2007) Log Message: ----------- Clean up logging Modified Paths: -------------- pymoul/trunk/src/moul/crypt/whatdoyousee.py pymoul/trunk/src/moul/file/chatlog.py pymoul/trunk/src/moul/file/directory.py pymoul/trunk/src/moul/file/kiimage.py pymoul/trunk/src/moul/file/localization.py pymoul/trunk/src/moul/file/plasmalog.py pymoul/trunk/src/moul/file/wdysini.py pymoul/trunk/src/moul/log.py pymoul/trunk/src/moul/osdependent/darwin/__init__.py pymoul/trunk/src/moul/osdependent/linux/__init__.py pymoul/trunk/src/moul/osdependent/win32/__init__.py pymoul/trunk/src/moul/qt/dninumbers.py pymoul/trunk/src/moul/qt/errorhandler.py pymoul/trunk/src/moul/qt/i18n/__init__.py pymoul/trunk/src/moul/qt/localization.py pymoul/trunk/src/moul/qt/mainwindow.py pymoul/trunk/src/moul/qt/moulqt.py pymoul/trunk/src/moul/qt/utils.py pymoul/trunk/src/moul/qt/wdysini.py pymoul/trunk/src/moul/time/utils.py Modified: pymoul/trunk/src/moul/crypt/whatdoyousee.py =================================================================== --- pymoul/trunk/src/moul/crypt/whatdoyousee.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/crypt/whatdoyousee.py 2007-02-22 14:42:24 UTC (rev 182) @@ -33,7 +33,7 @@ from moul.crypt.xtea import xtea_decrypt from moul.crypt.xtea import xtea_encrypt from moul.crypt.binary import BinaryFile -from moul.log import getLogger +from logging import getLogger HEADER = "whatdoyousee" Modified: pymoul/trunk/src/moul/file/chatlog.py =================================================================== --- pymoul/trunk/src/moul/file/chatlog.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/file/chatlog.py 2007-02-22 14:42:24 UTC (rev 182) @@ -39,7 +39,7 @@ from time import localtime from moul.file.utils import fileModTime -from moul.log import getLogger +from logging import getLogger RE_FLAGS = re.LOCALE Modified: pymoul/trunk/src/moul/file/directory.py =================================================================== --- pymoul/trunk/src/moul/file/directory.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/file/directory.py 2007-02-22 14:42:24 UTC (rev 182) @@ -30,7 +30,7 @@ from moul.file.plasmalog import PlasmalogZipper from moul.file.wdysini import AudioIni from moul.file.wdysini import GraphicsIni -from moul.log import getLogger +from logging import getLogger LOG = getLogger('moul.file.directory') Modified: pymoul/trunk/src/moul/file/kiimage.py =================================================================== --- pymoul/trunk/src/moul/file/kiimage.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/file/kiimage.py 2007-02-22 14:42:24 UTC (rev 182) @@ -29,7 +29,7 @@ from moul.file.utils import fileModTime from moul.file.utils import fileSize -from moul.log import getLogger +from logging import getLogger KINUMBER_RE = re.compile("(\d+)\.jpg$", re.IGNORECASE) JPEG_HEADER = "\377\330\377" Modified: pymoul/trunk/src/moul/file/localization.py =================================================================== --- pymoul/trunk/src/moul/file/localization.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/file/localization.py 2007-02-22 14:42:24 UTC (rev 182) @@ -26,7 +26,7 @@ from xml.sax.handler import feature_namespaces from xml.sax.saxutils import unescape -from moul.log import getLogger +from logging import getLogger __author__ = "Christian Heimes" __version__ = "$Id$" Modified: pymoul/trunk/src/moul/file/plasmalog.py =================================================================== --- pymoul/trunk/src/moul/file/plasmalog.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/file/plasmalog.py 2007-02-22 14:42:24 UTC (rev 182) @@ -29,7 +29,7 @@ from moul.crypt.elf import decryptElf from moul.file.utils import fileModTime -from moul.log import getLogger +from logging import getLogger PLASMA_LOG = "plasmalog.txt" Modified: pymoul/trunk/src/moul/file/wdysini.py =================================================================== --- pymoul/trunk/src/moul/file/wdysini.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/file/wdysini.py 2007-02-22 14:42:24 UTC (rev 182) @@ -26,7 +26,7 @@ from moul.crypt.whatdoyousee import decryptWDYS from moul.crypt.whatdoyousee import encryptWDYS -from moul.log import getLogger +from logging import getLogger LOG = getLogger('moul.file.wdysini') Modified: pymoul/trunk/src/moul/log.py =================================================================== --- pymoul/trunk/src/moul/log.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/log.py 2007-02-22 14:42:24 UTC (rev 182) @@ -35,98 +35,109 @@ from moul.metadata import __version__ as moul_version +LOG = logging.getLogger('pyMoul') -getLogger = logging.getLogger - -__FROZEN__ = bool(getattr(sys, 'frozen', False)) - -format = Formatter('%(asctime)s %(name)-8s %(levelname)-7s %(message)s', - #'%a, %d %b %Y %H:%M:%S' - '%H:%M:%S') -root = getLogger() -root.setLevel(logging.DEBUG) -LOG = getLogger('pyMoul') - class LoggingStdout(object): """Replacement for stdout/stderr IO """ __slot__ = ('_logfunc',) - + def __init__(self, logfunc): self._logfunc = logfunc - + def write(self, value): while value.endswith('\n'): value = value[:-1] if value: self._logfunc(value) -mhdlr = None -fhdlr = None -def _installMemoryHdlr(): - """setup a memory handler to store records before we have the - infrastructure to log events to a file +class LoggerSetup(object): + """Setup logger """ - global mhdlr - mhdlr = handlers.MemoryHandler(capacity=4*1024) # MemoryHandler doesn't flush w/o a target - mhdlr.setFormatter(format) - root.addHandler(mhdlr) + format = Formatter('%(asctime)s %(name)-8s %(levelname)-7s %(message)s', + #'%a, %d %b %Y %H:%M:%S' + '%H:%M:%S') -def _removeMemoryHdlr(): - """Remove memory handler - """ - global mhdlr - global fhdlr - if mhdlr: - mhdlr.setTarget(fhdlr) - mhdlr.flush() - root.removeHandler(mhdlr) - del mhdlr + frozen = bool(getattr(sys, 'frozen', False)) + level = logging.DEBUG -def _installFileHdlr(): - """Install a file handler - """ - global fhdlr - from moul.config import getPyMoulDataDir - logFile = os.path.join(getPyMoulDataDir(check=True), 'pymoul.log') - LOG.info("Adding file logger: %s" % logFile) - fhdlr = handlers.RotatingFileHandler(logFile, backupCount=9) - fhdlr.setFormatter(format) - root.addHandler(fhdlr) - fhdlr.doRollover() + def __init__(self): + self.root = logging.getLogger() + self.root.setLevel(self.level) + self.mhdlr = None + self.fhdlr = None -def _systemInfo(): - from moul.osdependent import __INFO__ - LOG.info("time: " + time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime())) - LOG.info("pyMoul version: %s" % moul_version) - LOG.info("Python: %s" % repr(sys.version_info)) - LOG.info("Python: %s" % sys.version.replace('\n', ' ')) - LOG.info("Platform: %s, OS name: %s" % (sys.platform, os.name)) - LOG.info("system %r, node %r, release %r, version %r, machine %r, processor %r" - % platform.uname()) - LOG.info("platform name: %s" % platform.platform(True)) - LOG.info("sys.frozen status: %s" % __FROZEN__) - LOG.info("OS detected: win32: %r, cygwin: %r, Linux: %r, Mac: %r, BSD: %r, " - "posix/Un*x: %r, NT: %r" % __INFO__) + def _installMemoryHdlr(self): + """setup a memory handler to store records before we have the + infrastructure to log events to a file + """ + # MemoryHandler doesn't flush w/o a target + self.mhdlr = handlers.MemoryHandler(capacity=4*1024) + self.mhdlr.setFormatter(self.format) + self.root.addHandler(mhdlr) -# no setup the logging stuff! + def _removeMemoryHdlr(self): + """Remove memory handler -if not __FROZEN__: - # Add streaming handler to sys.stderr. - # Only log to stderr when the program is not frozen! - shdlr = logging.StreamHandler(sys.stderr) - shdlr.setFormatter(format) - root.addHandler(shdlr) - #_systemInfo() -else: - _installMemoryHdlr() - _systemInfo() + Flush content to file handler + """ + if self.mhdlr: + self.mhdlr.setTarget(self.fhdlr) + self.mhdlr.flush() + self.root.removeHandler(self.mhdlr) + self.mhdlr = None -def createLogfile(): - """Create log file and redirect stdout/stderr to logfile - """ - _installFileHdlr() - _removeMemoryHdlr() - # Redirect stdout and stderr to logger when running as frozen app - #sys.stdout = LoggingStdout(getLogger('stdout').info) - #sys.stderr = LoggingStdout(getLogger('stderr').error) + def _installFileHdlr(self): + """Install a file handler + """ + from moul.config import getPyMoulDataDir + logFile = os.path.join(getPyMoulDataDir(check=True), 'pymoul.log') + LOG.info("Adding file logger: %s" % logFile) + self.fhdlr = handlers.RotatingFileHandler(logFile, backupCount=9) + self.fhdlr.setFormatter(self.format) + self.root.addHandler(self.fhdlr) + self.fhdlr.doRollover() + + def _installStreamStderr(self): + """Install stream handler to stderr + """ + shdlr = logging.StreamHandler(sys.stderr) + shdlr.setFormatter(self.format) + self.root.addHandler(shdlr) + + def _redirectStdout(self): + """Redirect stdout and stderr to logger + """ + sys.stdout = LoggingStdout(getLogger('stdout').info) + sys.stderr = LoggingStdout(getLogger('stderr').error) + + def _systemInfo(self): + from moul.osdependent import __INFO__ + LOG.info("time: " + time.strftime("%a, %d %b %Y %H:%M:%S +0000", + time.gmtime())) + LOG.info("pyMoul version: %s" % moul_version) + LOG.info("Python: %s" % repr(sys.version_info)) + LOG.info("Python: %s" % sys.version.replace('\n', ' ')) + LOG.info("Platform: %s, OS name: %s" % (sys.platform, os.name)) + LOG.info("system %r, node %r, release %r, version %r, machine %r, " + "processor %r" % platform.uname()) + LOG.info("platform name: %s" % platform.platform(True)) + LOG.info("sys.frozen status: %s" % self.frozen) + LOG.info("OS detected: win32: %r, cygwin: %r, Linux: %r, Mac: %r, " + "BSD: %r, posix/Un*x: %r, NT: %r" % __INFO__) + + def __call__(self): + if not self.frozen: + self._installStreamStderr() + else: + self._installMemoryHdlr() + self._systemInfo() + + def createLogfile(self): + self._installFileHdlr() + self._removeMemoryHdlr() + +loggerSetup = LoggerSetup() +createLogfile = loggerSetup.createLogfile + +loggerSetup() Modified: pymoul/trunk/src/moul/osdependent/darwin/__init__.py =================================================================== --- pymoul/trunk/src/moul/osdependent/darwin/__init__.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/osdependent/darwin/__init__.py 2007-02-22 14:42:24 UTC (rev 182) @@ -24,7 +24,7 @@ import os from subprocess import Popen -from moul.log import getLogger +from logging import getLogger LOG = getLogger('moul.darwin') Modified: pymoul/trunk/src/moul/osdependent/linux/__init__.py =================================================================== --- pymoul/trunk/src/moul/osdependent/linux/__init__.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/osdependent/linux/__init__.py 2007-02-22 14:42:24 UTC (rev 182) @@ -25,7 +25,7 @@ from subprocess import Popen from moul.osdependent.processinfo import getPidNames -from moul.log import getLogger +from logging import getLogger LOG = getLogger('moul.linux') Modified: pymoul/trunk/src/moul/osdependent/win32/__init__.py =================================================================== --- pymoul/trunk/src/moul/osdependent/win32/__init__.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/osdependent/win32/__init__.py 2007-02-22 14:42:24 UTC (rev 182) @@ -24,7 +24,7 @@ import os from subprocess import Popen -from moul.log import getLogger +from logging import getLogger from moul.osdependent.processinfo import getPidNames from moul.osdependent.win32 import winpath Modified: pymoul/trunk/src/moul/qt/dninumbers.py =================================================================== --- pymoul/trunk/src/moul/qt/dninumbers.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/qt/dninumbers.py 2007-02-22 14:42:24 UTC (rev 182) @@ -40,7 +40,7 @@ from moul.time.dni import DNI_HOLIDAYS from moul.time.utils import ts2utc from moul.time.utils import utcnow -from moul.log import getLogger +from logging import getLogger from moul.qt.utils import QNamespaceContainer from moul.qt.utils import QSignalLoggerMetaclass from moul.qt.utils import skipLogging Modified: pymoul/trunk/src/moul/qt/errorhandler.py =================================================================== --- pymoul/trunk/src/moul/qt/errorhandler.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/qt/errorhandler.py 2007-02-22 14:42:24 UTC (rev 182) @@ -31,7 +31,7 @@ from PyQt4.QtGui import QApplication from traceback import format_exception -from moul.log import getLogger +from logging import getLogger from moul.qt.utils import criticalMB Modified: pymoul/trunk/src/moul/qt/i18n/__init__.py =================================================================== --- pymoul/trunk/src/moul/qt/i18n/__init__.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/qt/i18n/__init__.py 2007-02-22 14:42:24 UTC (rev 182) @@ -29,7 +29,7 @@ from PyQt4 import QtCore from moul.osdependent import __FROZEN__ -from moul.log import getLogger +from logging import getLogger LOG = getLogger('moul.qt.i18n') Modified: pymoul/trunk/src/moul/qt/localization.py =================================================================== --- pymoul/trunk/src/moul/qt/localization.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/qt/localization.py 2007-02-22 14:42:24 UTC (rev 182) @@ -31,7 +31,7 @@ from PyQt4.QtCore import pyqtSignature from moul.file.localization import translationRegistry as tr -from moul.log import getLogger +from logging import getLogger from moul.qt.simpleprogressbar import SimpleProgressbar from moul.qt.utils import QYieldingThreadlet Modified: pymoul/trunk/src/moul/qt/mainwindow.py =================================================================== --- pymoul/trunk/src/moul/qt/mainwindow.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/qt/mainwindow.py 2007-02-22 14:42:24 UTC (rev 182) @@ -36,7 +36,7 @@ from moul.config import lookupDir from moul.file.directory import UruGameDataDirectory from moul.file.directory import UruPersonalDataDirectory -from moul.log import getLogger +from logging import getLogger from moul.osdependent import isMoulRunning from moul.server.ping import ServerList from moul.server.ping import isSocketError Modified: pymoul/trunk/src/moul/qt/moulqt.py =================================================================== --- pymoul/trunk/src/moul/qt/moulqt.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/qt/moulqt.py 2007-02-22 14:42:24 UTC (rev 182) @@ -23,12 +23,13 @@ __version__ = "$Id$" __revision__ = "$Revision$" +from moul.log import createLogfile + import sys from PyQt4 import QtGui +from logging import getLogger from moul.config import getPyMoulDataDir -from moul.log import createLogfile -from moul.log import getLogger from moul.osdependent import isMoulRunning from moul.osdependent.singleapp import SimpleSingleApp Modified: pymoul/trunk/src/moul/qt/utils.py =================================================================== --- pymoul/trunk/src/moul/qt/utils.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/qt/utils.py 2007-02-22 14:42:24 UTC (rev 182) @@ -42,7 +42,7 @@ from types import FunctionType from moul.osdependent import __FROZEN__ -from moul.log import getLogger +from logging import getLogger LOG = getLogger('moul.qt.utils') Modified: pymoul/trunk/src/moul/qt/wdysini.py =================================================================== --- pymoul/trunk/src/moul/qt/wdysini.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/qt/wdysini.py 2007-02-22 14:42:24 UTC (rev 182) @@ -36,7 +36,7 @@ from moul.file.directory import UruGameDataDirectory from moul.file.directory import UruPersonalDataDirectory from moul.file.wdysini import videoModes -from moul.log import getLogger +from logging import getLogger from moul.qt.utils import QNamespaceContainer from moul.qt.utils import QSignalLoggerMetaclass from moul.qt.utils import questionMB Modified: pymoul/trunk/src/moul/time/utils.py =================================================================== --- pymoul/trunk/src/moul/time/utils.py 2007-02-22 14:14:24 UTC (rev 181) +++ pymoul/trunk/src/moul/time/utils.py 2007-02-22 14:42:24 UTC (rev 182) @@ -65,9 +65,9 @@ >>> from datetime import timedelta >>> td2sec(timedelta(0, 3600)) - 3600 + 3600.0 >>> td2sec(timedelta(0, -3600)) - -3600 + -3600.0 """ return 86400 * td.days + td.seconds + td.microseconds/1000000.0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |