欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

日志模块的简单使用

程序员文章站 2024-03-19 22:36:40
...

https://www.cnblogs.com/yyds/p/6901864.html

日志模块的简单使用

import logging
import time
import os

import sys

# 日志文件配置
LOG_DIR_NAME = 'log3'  # 日志统一存放文件夹
LOG_DIR_PATH = os.path.join(os.getcwd(), LOG_DIR_NAME)  # 日志统一存放完整路径

if not os.path.exists(LOG_DIR_PATH):  # 日志统一存放路径不存在,则创建该路径
    os.makedirs(LOG_DIR_PATH)

# print(LOG_DIR_PATH)
# sys.exit()

# 写入日志文件的配置
logging.basicConfig(
    level=logging.DEBUG,  # 设置写入级别。日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
    # 设置写入样式。'2018-01-12 13:09:02|mytest.py|<module>|line:9|INFO|start runing'
    # format='%(asctime)s|%(filename)s|%(funcName)s|line:%(lineno)d|%(levelname)s|%(message)s',
    format='[%(levelname)s] %(asctime)s %(filename)s(Near From Line:%(lineno)d) %(message)s ==root\\USER\\...==',
    datefmt='%Y-%m-%d %X',
    filename=LOG_DIR_PATH + os.sep + time.strftime("%Y%m%d") + '.log'  # 写入文件位置和文件名
)

# # 控制台打印输出日志
# console = logging.StreamHandler()  # 定义一个StreamHandler,将INFO级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象
# console.setLevel(logging.INFO)  # 设置要打印日志的等级,低于这一等级,不会打印
# formatter = logging.Formatter('%(asctime)s|%(name)-8s: %(levelname)-8s| %(message)s')  # 控制台输出样式
# console.setFormatter(formatter)
# logging.getLogger('').addHandler(console)

# 定义日志内容(用于写入日志文件和控制台的打印)
logging.critical('CRITICAL le')  # 定义严重日志内容
logging.error('error le')  # 定义错误日志内容
try:
    1 / 0
except Exception as e:
    logging.warning('exception: %s', e)  # 定义警告日志内容
logging.info('start runing')  # 定义消息日志内容
logging.info('login done')
str1 = 'lalala'
# logging.debug("\n%s\n" % str1)  # 定义调试日志内容
logging.debug("%s" % str1)  # 定义调试日志内容

  

python 获取当前调用函数名等log信息