Switching to a rotating log
authorEd Page <eopage@byu.net>
Sat, 26 Feb 2011 21:54:49 +0000 (15:54 -0600)
committerEd Page <eopage@byu.net>
Sat, 26 Feb 2011 21:54:49 +0000 (15:54 -0600)
src/ejpi.py
src/ejpi_qt.py

index 2a4d905..5d0be57 100755 (executable)
@@ -1,6 +1,5 @@
 #!/usr/bin/env python
 
-import os
 import sys
 import logging
 
@@ -9,22 +8,8 @@ _moduleLogger = logging.getLogger(__name__)
 sys.path.append("/opt/ejpi/lib")
 
 
-import constants
 import ejpi_qt
 
 
 if __name__ == "__main__":
-       try:
-               os.makedirs(constants._data_path_)
-       except OSError, e:
-               if e.errno != 17:
-                       raise
-
-       logFormat = '(%(asctime)s) %(levelname)-5s %(threadName)s.%(name)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])
-
        ejpi_qt.run()
index cf871e0..79c75a1 100755 (executable)
@@ -3,11 +3,11 @@
 
 from __future__ import with_statement
 
-import sys
 import os
 import simplejson
 import string
 import logging
+import logging.handlers
 
 from PyQt4 import QtCore
 from PyQt4 import QtGui
@@ -349,6 +349,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 = Calculator(app)
        qtpie.init_pies()
@@ -356,12 +373,6 @@ def run():
 
 
 if __name__ == "__main__":
-       logging.basicConfig(level = logging.DEBUG)
-       try:
-               os.makedirs(constants._data_path_)
-       except OSError, e:
-               if e.errno != 17:
-                       raise
-
+       import sys
        val = run()
        sys.exit(val)