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)