python之logging模块,详解

python之logging模块
1.四个主要类:
1.logger 提供了应用程序可以直接使用的接口;
  handler 将(logger创建的)日志记录发送到合适的目的输出;
  filter 提供了细度设备来决定输出哪条日志记录;用处不太大
  formatter 决定日志记录的最终输出格式
2.主要模块使用:
**logging.getLogger([name])**返回一个logger对象,如果没有指定名字将返回 root logger,最常用
logging.basicConfig():给logger对象的配置管理函数,不常用
logging.debug() / logging.info() / logging.warning() / logging.error() / logging.critical() logger 的日志级别

example:

class Mylogging:
def init(self):
timestr = time.strftime(’%Y%m%d%H%M%S’,time.localtime(time.time())) # 本地时间
lib_path = os.path.abspath(os.path.join(os.path.dirname(file),’…/logs’)) # 路径
filename = lib_path + ‘/’ + timestr + ‘.log’ # 日志文件地址
self.logger = logging.getLogger() # 定义对应程序模块名name,默认为root
self.logger.setLevel(logging.INFO) # 必须设置,这里如果不显示设置,默认过滤掉warning之前的所有级别的信息

   sh = logging.StreamHandler()# 日志输出到屏幕控制台
   sh.setLevel((logging.INFO)) # 设置日志等级

   fh = logging.FileHandler(filename=filename)  # 向文件filename输出日志信息
   fh.setLevel(logging.INFO)  # 设置日志等级


   # 设置格式对象
   formatter = logging.Formatter("%(asctime)s %(filename)s[line:%(lineno)d]%(levelname)s - %(message)s")# 日志输出格式

   # 设置handler的格式对象
   sh.setFormatter(formatter)
   fh.setFormatter(formatter)

   # 将handler增加到logger中
   self.logger.addHandler(sh)
   self.logger.addHandler(fh)
    logger级别

if name == “main”:
log = Mylogging().logger
log.debug(“debug”) # 不输出
log.info(“info”) # 输出
log.warning(“warning”) # 输出
log.error(“error”) # 输出
log.critical(“critical”) # 输出

剩余查看链接,
https://www.cnblogs.com/yangliheng/p/6058436.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值