示例#1
1
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)

def log_to_logger(fn):
    '''
    Wrap a Bottle request so that a log line is emitted after it's handled.
    (This decorator can be extended to take the desired logger as a param.)
    '''
    @wraps(fn)
    def _log_to_logger(*args, **kwargs):
        request_time = datetime.now()
        actual_response = fn(*args, **kwargs)
        # modify this to log exactly what you need:
        logger.info('%s %s %s %s %s' % (request.remote_addr,
                                        request_time,
                                        request.method,
                                        request.url,
                                        response.status))
        return actual_response
    return _log_to_logger

app = Bottle()
app.install(log_to_logger)

@app.route('/')
def home():
    return ['hello, world']

app.run(host='0.0.0.0', port='8080', quiet=True)
示例#2
0
 def run_app(self):
     api_app = Bottle()
     api_app.install(log_to_logger)
     app.install(log_to_logger)
     api_app.mount('/api/', app)
     conf = self.get_config()
     api_app.config['host'] = conf['host']
     api_app.config['port'] = conf['port']
     api_app.run(host=api_app.config['host'], port=api_app.config['port'])