基本使用,其他文件使用log = logger(__file__)调用
import logging
def logger(name):
logging.basicConfig(level=logging.INFO, filename='log/log.txt', filemode='a')
log = logging.getLogger(name)
return log
或者
logger = logging.getLogger(loggername)
logger.setLevel(logging.DEBUG)
#创建一个handler,用于写入日志文件
log_path = os.path.dirname(getcwd.get_cwd())+"/logs/" # 指定文件输出路径,注意logs是个文件夹,一定要加上/,不然会导致输出路径错误,把logs变成文件名的一部分了
fh = logging.FileHandler(logName,encoding = 'utf-8') # 指定utf-8格式编码,避免输出的日志文本乱码
fh.setLevel(logging.DEBUG)
# 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s-%(name)s-%(levelname)s-%(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
return logger
获取函数
funcName = sys._getframe().f_back.f_code.co_name #获取调用函数名
lineNumber = sys._getframe().f_back.f_lineno #获取行号
name = sys._getframe().f_code.co_name # 获取当前函数名
__file__ # 绝对路径
os.path.basename(__file__)#文件名