zoukankan      html  css  js  c++  java
  • 日志文件使用

    import logging, os, time, datetime

    path = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) + 'log/'


    class Logger:
    def __init__(self, path=path, comdlevel=logging.DEBUG, Flevel=logging.DEBUG):
    # 这里为了简便,同时处理:输出控制台和保存到文件中
    # 第一步,创建一个logger
    self.logger = logging.getLogger()
    self.logger.setLevel(logging.INFO) # Log等级总开关

    # 第二步,创建一个handler,用于写入日志文件
    logfile = '{}/{}.log'.format(path, datetime.datetime.now().strftime('%Y%m%d'))
    print(logfile)
    fh = logging.FileHandler(logfile, mode='a') # open的打开模式这里可以进行参考
    fh.setLevel(Flevel) # 输出到file的log等级的开关

    # 第三步,再创建一个handler,用于输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(comdlevel) # 输出到console的log等级的开关

    # 第四步,定义handler的输出格式
    formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)

    # 第五步,将logger添加到handler里面
    self.logger.addHandler(fh)
    self.logger.addHandler(ch)

    def info(self, message):
    # info信息
    self.logger.info(message)

    def debug(self, message):
    # debug信息
    self.logger.debug(message)

    def warning(self, message):
    # 警告信息
    self.logger.warning(message)

    def error(self, message):
    # 错误信息
    self.logger.error(message)

    def critical(self, message):
    # 危急信息
    self.logger.critical(message)

    参考https://www.cnblogs.com/crawer-1/p/8258146.html
  • 相关阅读:
    方法重载与方法重写的概念和区别(转载)
    sql exist 和not exist(转载)
    SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思 sql server 2005 2008
    sql中的isnull
    sql中unique和distinct
    SQLServer中的Merge使用
    SQL Server系统表sysobjects介绍与使用
    sql select as
    存储过程SET XACT_ABORT ON
    SQL Server之存储过程基础知识
  • 原文地址:https://www.cnblogs.com/hufengTE/p/12106216.html
Copyright © 2011-2022 走看看