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')

Reply via email to