Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2012 OpenStack LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License.
# A list of things we want to replicate from logging. # levels
# methods
# classes
# handlers
@functools.wraps(f) def wrapper(*args, **kw): logging.debug('%s(%s, %s) ->', f.func_name, str(args), str(kw)) rv = f(*args, **kw) logging.debug(pprint.pformat(rv, indent=2)) logging.debug('') return rv return wrapper
"""Logs exceptions and aborts.""" def wrapper(*args, **kw): except Exception as e: # tracebacks are kept in the debug log logging.debug(traceback.format_exc(e))
# exception message is printed to all logs logging.critical(e)
exit(1) |