Home | Trees | Indices | Help |
---|
|
1 # ICE Revision: $Id$ 2 """Writes Logfiles""" 3 4 from PyFoam.ThirdParty.six import print_ 5 6 try: 7 import logging 8 hasLogging=True 9 except ImportError: 10 # For Python-versions < 2.3 11 print_("Warning: old python-version. No logging-support") 12 hasLogging=False 13 14 from PyFoam.Infrastructure.Hardcoded import assertDirectory,logDirectory 15 from os import path 16 from platform import uname 17 18 from PyFoam import configuration as config 19 20 _definedLoggers=[] 2123 """Gets the logging level value from its name""" 24 level=config().get("Logging","default") 25 26 try: 27 level=config().get("Logging",name) 28 except: 29 pass 30 31 value=logging.INFO 32 try: 33 value=getattr(logging,level) 34 except AttributeError: 35 print_("WARNING: Wrong specification of debug level "+level+" for log "+name) 36 37 return value38 4547 """ 48 @param name: name of the logfile 49 @return: a logger that is correctly set up for pyFoam 50 """ 51 52 if not hasLogging: 53 return DummyLogger() 54 55 log=logging.getLogger(name) 56 if not (name in _definedLoggers): 57 assertDirectory(logDirectory()) 58 lname=path.join(logDirectory(),name) 59 # rot=logging.TimedRotatingFileHandler(lname,when="M",interval=2,backupCount=5) 60 rot=logging.FileHandler(lname) 61 machine=uname()[1].split(".")[0] 62 rot.setFormatter(logging.Formatter(fmt="%(asctime)s "+("%15s" % machine)+":%(process)-6d %(levelname)-8s %(message)s - in %(filename)s:%(lineno)d")) 63 log.addHandler(rot) 64 log.setLevel(_getLoggingLevel(name)) 65 _definedLoggers.append(name) 66 67 return log68 69 # Should work with Python3 and Python2 70
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Wed Jun 12 09:10:16 2013 | http://epydoc.sourceforge.net |