Написал статейку о моей практике логирования на любимом языке программирования.
Высказывайте свое “фи” :)
import sys import config def debug(*args): caller_function_name = sys._getframe().f_back.f_code.co_name try: caller_class_name = sys._getframe().f_back.f_locals['self'].__class__.__name__ except KeyError: caller_class_name = '' if config.DEBUG: print '[%s#%s]: %s' % (caller_class_name, caller_function_name, ' '.join(map(str, args))) if __name__ == '__main__': class AA(object): def bbb(self): debug('qqq') AA().bbb() # => [AA#bbb]: qqq