I'm trying to setup logging in production environment but for some
strange reason it doesn't work. More precisely, logfiles I setup
logging to are created but they remain empty.
Here is my setup code (placed in start-app.py)
def setupLoggingToFile(fname, loglevel=None, truncateFile=False):
import os.path
import logging
loglevel = loglevel or logging.NOTSET
logger = logging.getLogger()
fmt = '[%(asctime)s] %(filename)s:%(lineno)d %(levelname)s:
%(message)s'
logger.setLevel(loglevel)
if truncateFile and os.path.isfile(fname):
os.remove(fname)
hdlr = logging.FileHandler(fname)
formatter = logging.Formatter(fmt)
hdlr.setFormatter(formatter)
hdlr.setLevel(loglevel)
logger.addHandler(hdlr)
if cherrypy.config.get('server.environment') == 'production':
import logging
logfile = cherrypy.config.get('server.app_log_file')
error_log = cherrypy.config.get('server.error_log')
setupLoggingToFile(logfile, logging.NOTSET)
setupLoggingToFile(error_log, logging.WARNING)
logging.getLogger().info('Logging has been setup')