Limiting the size of the log
authorEd Page <eopage@byu.net>
Sat, 26 Feb 2011 21:51:34 +0000 (15:51 -0600)
committerEd Page <eopage@byu.net>
Wed, 13 Apr 2011 03:08:47 +0000 (22:08 -0500)
src/dialcentral.py
src/dialcentral_qt.py

index e96e2f5..86a0db1 100755 (executable)
@@ -9,31 +9,14 @@ published by the Free Software Foundation.
 """
 
 
-import os
 import sys
-import logging
 
 
-_moduleLogger = logging.getLogger(__name__)
 sys.path.append("/opt/dialcentral/lib")
 
 
-import constants
 import dialcentral_qt
 
 
 if __name__ == "__main__":
-       try:
-               os.makedirs(constants._data_path_)
-       except OSError, e:
-               if e.errno != 17:
-                       raise
-
-       logFormat = '(%(relativeCreated)5d) %(levelname)-5s %(threadName)s.%(name)s.%(funcName)s: %(message)s'
-       logging.basicConfig(level=logging.DEBUG, filename=constants._user_logpath_, format=logFormat)
-       _moduleLogger.info("%s %s-%s" % (constants.__app_name__, constants.__version__, constants.__build__))
-       _moduleLogger.info("OS: %s" % (os.uname()[0], ))
-       _moduleLogger.info("Kernel: %s (%s) for %s" % os.uname()[2:])
-       _moduleLogger.info("Hostname: %s" % os.uname()[1])
-
        dialcentral_qt.run()
index 0dbf286..0d7b50a 100755 (executable)
@@ -8,6 +8,7 @@ import base64
 import ConfigParser
 import functools
 import logging
+import logging.handlers
 
 from PyQt4 import QtGui
 from PyQt4 import QtCore
@@ -661,6 +662,23 @@ class MainWindow(qwrappers.WindowWrapper):
 
 
 def run():
+       try:
+               os.makedirs(constants._data_path_)
+       except OSError, e:
+               if e.errno != 17:
+                       raise
+
+       logFormat = '(%(relativeCreated)5d) %(levelname)-5s %(threadName)s.%(name)s.%(funcName)s: %(message)s'
+       logging.basicConfig(level=logging.DEBUG, format=logFormat)
+       rotating = logging.handlers.RotatingFileHandler(constants._user_logpath_, maxBytes=512*1024, backupCount=1)
+       rotating.setFormatter(logging.Formatter(logFormat))
+       root = logging.getLogger()
+       root.addHandler(rotating)
+       _moduleLogger.info("%s %s-%s" % (constants.__app_name__, constants.__version__, constants.__build__))
+       _moduleLogger.info("OS: %s" % (os.uname()[0], ))
+       _moduleLogger.info("Kernel: %s (%s) for %s" % os.uname()[2:])
+       _moduleLogger.info("Hostname: %s" % os.uname()[1])
+
        app = QtGui.QApplication([])
        handle = Dialcentral(app)
        qtpie.init_pies()
@@ -670,13 +688,5 @@ def run():
 if __name__ == "__main__":
        import sys
 
-       logFormat = '(%(relativeCreated)5d) %(levelname)-5s %(threadName)s.%(name)s.%(funcName)s: %(message)s'
-       logging.basicConfig(level=logging.DEBUG, format=logFormat)
-       try:
-               os.makedirs(constants._data_path_)
-       except OSError, e:
-               if e.errno != 17:
-                       raise
-
        val = run()
        sys.exit(val)