예제 #1
0
def _get_logger():
    '''find out the caller's module name and get or create a corresponding
    logger. if caller has no module, return root logger.'''
    if __istest:
        return testlogger
    caller_frm = inspect.stack()[2]
    caller_mod = inspect.getmodule(caller_frm[0])
    name = None if caller_mod is None else caller_mod.__name__
    orgpath = caller_frm[1]
    orgfile = os.path.basename(orgpath)
    caller_info = {
        'org_filename': orgfile,
        'org_lineno': caller_frm[2],
        'org_funcName': caller_frm[3],
        #'org_module': name if name else os.path.splitext(orgfile)[0],
        'org_pathname': orgpath,
    }
    logger = logging.LoggerAdapter(logging.getLogger(name), caller_info)
    return logger
예제 #2
0
def _get_logger():
    '''find out the caller's module name and get or create a corresponding
    logger. if caller has no module, return root logger.'''
    if __istest:
        return testlogger
    caller_frm = inspect.stack()[2]
    caller_mod = inspect.getmodule(caller_frm[0])
    name = None if caller_mod is None else caller_mod.__name__
    orgpath = caller_frm[1]
    orgfile = os.path.basename(orgpath)
    caller_info = {
                    'org_filename': orgfile,
                    'org_lineno': caller_frm[2],
                    'org_funcName': caller_frm[3],
                    #'org_module': name if name else os.path.splitext(orgfile)[0],
                    'org_pathname': orgpath,
                   }
    logger = logging.LoggerAdapter(logging.getLogger(name), caller_info)
    return logger
예제 #3
0
handler_console_priority.addFilter(relocator)

handler_file_error = logging.FileHandler(os.path.join(
    pathprovider.getUserDataPath(), 'error.log'),
                                         mode='a',
                                         delay=True)
handler_file_error.formatter = formatter_full
handler_file_error.level = ERROR
handler_file_error.addFilter(relocator)

logging.root.setLevel(LOGLEVEL)
logging.root.addHandler(handler_console)
logging.root.addHandler(handler_console_priority)
logging.root.addHandler(handler_file_error)

testlogger = logging.getLogger('test')
testlogger.setLevel(CRITICAL)
testlogger.addHandler(handler_console)
testlogger.addHandler(handler_console_priority)
testlogger.propagate = False

logging.getLogger('cherrypy.error').setLevel(WARNING)


def debug(msg, *args, **kwargs):
    '''logs a message with severity DEBUG on the caller's module logger.
    uses the root logger if caller has no module.'''
    _get_logger().debug(msg, *args, **kwargs)


def info(msg, *args, **kwargs):
예제 #4
0
handler_console_priority = logging.StreamHandler(stream=sys.stderr)
handler_console_priority.formatter = formatter_brief
handler_console_priority.level = WARNING
handler_console_priority.addFilter(relocator)

handler_file_error = logging.FileHandler(os.path.join(pathprovider.getUserDataPath(), 'error.log'), mode='a', delay=True)
handler_file_error.formatter = formatter_full
handler_file_error.level = ERROR
handler_file_error.addFilter(relocator)

logging.root.setLevel(LOGLEVEL)
logging.root.addHandler(handler_console)
logging.root.addHandler(handler_console_priority)
logging.root.addHandler(handler_file_error)

testlogger = logging.getLogger('test')
testlogger.setLevel(CRITICAL)
testlogger.addHandler(handler_console)
testlogger.addHandler(handler_console_priority)
testlogger.propagate = False

logging.getLogger('cherrypy.error').setLevel(WARNING)




def debug(msg, *args, **kwargs):
    '''logs a message with severity DEBUG on the caller's module logger.
    uses the root logger if caller has no module.'''
    _get_logger().debug(msg, *args, **kwargs)