I got this from here awhile back:

def _init_log():
    import os,logging,logging.handlers,time 
    logger = logging.getLogger(request.application) 
    logger.setLevel(logging.INFO) 
    handler = logging.handlers.RotatingFileHandler(os.path.join(
        request.folder,'logs','applog.log'),'a',1024*1024,1) 
    handler.setLevel(logging.INFO) #or DEBUG
    handler.setFormatter(logging.Formatter( 
        '%(asctime)s %(levelname)s %(filename)s %(lineno)d %(funcName)s(): 
%(message)s')) 
    logger.addHandler(handler) 
    return logger
    
app_logging = cache.ram('app_wide_log',lambda:_init_log(),time_expire=None)

Then you can do this from anywhere:
app_logging.info(log_this_data)

Reply via email to