From: <dg...@us...> - 2009-04-18 11:36:03
|
Revision: 322 http://pytrainer.svn.sourceforge.net/pytrainer/?rev=322&view=rev Author: dgranda Date: 2009-04-18 11:36:01 +0000 (Sat, 18 Apr 2009) Log Message: ----------- Rotating log file support added Modified Paths: -------------- pytrainer/trunk/pytrainer/main.py Modified: pytrainer/trunk/pytrainer/main.py =================================================================== --- pytrainer/trunk/pytrainer/main.py 2009-04-16 20:38:15 UTC (rev 321) +++ pytrainer/trunk/pytrainer/main.py 2009-04-18 11:36:01 UTC (rev 322) @@ -26,8 +26,11 @@ import gtk import gtk.glade import logging +import logging.handlers import traceback +from os import path + from record import Record from waypoint import Waypoint from extension import Extension @@ -54,25 +57,30 @@ from lib.system import checkConf from lib.heartrate import * -# 21.03.2008 - dgranda -# setting up logging +# 21.03.2008 - dgranda (updated 17.04.2008) # Only one parameter from command line is accepted # ERROR is the default log level -debug_level = logging.ERROR -if len(sys.argv) >1: +log_level = logging.ERROR +PATH = os.environ['HOME']+"/.pytrainer" +if not os.path.exists(PATH): + os.mkdir(PATH) +LOG_FILENAME = PATH + "/log.out" +if len(sys.argv) > 1: if sys.argv[1]=='-d': - debug_level = logging.DEBUG + log_level = logging.DEBUG elif sys.argv[1]=='-i': - debug_level = logging.INFO + log_level = logging.INFO elif sys.argv[1]=='-w': - debug_level = logging.WARNING + log_level = logging.WARNING else: print "CLI - Unknown parameter "+sys.argv[1] -print "*** Log level set to "+ logging.getLevelName(debug_level) +" ***" -logging.basicConfig(level=debug_level, - format='%(asctime)s|%(levelname)s|%(module)s|%(funcName)s|%(message)s', - filemode='w') +# Adding rotating support to default logger with customized format +rotHandler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=100000, backupCount=5) +formatter = logging.Formatter('%(asctime)s|%(levelname)s|%(module)s|%(funcName)s|%(message)s') +rotHandler.setFormatter(formatter) +logging.getLogger('').addHandler(rotHandler) +logging.getLogger('').setLevel(log_level) class pyTrainer: def __init__(self,filename = None, data_path = None): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |