日志基本内容
#-*- coding: utf-8 -*-
# @Time : 2021/1/6 0006
# @Author : tian
import logging
'''
日志 logging
日志收集器 logger类
输出渠道 Handle类 控制台(StreamHandle类)文件(FileHandle类)
日志格式 Formatter
'''
#创建自己的日志收集器
logger = logging.getLogger("tian")
#设置日志收集器的日志级别
logger.setLevel(logging.DEBUG)
#设置自己的日志格式
'''%(asctime)s %(name)s %(levelname)s %(filename)s [%(lineno)d] %(message)s
日志时间 收集器名称 日志级别名称 文件名称 日志在代码多少行 自己定义的消息 '''
fmt = "%(asctime)s %(name)s %(levelname)s %(filename)s 第[%(lineno)d]行 %(message)s"
formatter = logging.Formatter(fmt)
#创建一个输出渠道 -终端输出
handel = logging.StreamHandler()
handel.setFormatter(formatter)
#创建一个输出渠道,文件输出
handel2 = logging.FileHandler("logger.log",encoding="utf-8")
#定制输出渠道自己的日志级别,但是不能低于日志收集器的级别,比如日志收集器为ERROR 那么INFO就没有意义
# handel.setLevel(logging.INFO)
#把输出渠道添加到日志收集器中
logger.addHandler(handel)
logger.addHandler(handel2)
logger.info('111111')
logger.debug("shu")
修饰成类
#-*- coding: utf-8 -*-
# @Time : 2021/1/6 0006
# @Author : tian
import logging
#将日志输出到文件和控制台
#提供方法info() error() debug() critical() warning()
class MyLogger(logging.Logger):
def __init__(self,name,level=logging.INFO,file="logger.py"):
super().__init__(name)#日志收集器名字
self.setLevel(level) #日志收集器级别
# 设置自己的日志格式
'''%(asctime)s %(name)s %(levelname)s %(filename)s [%(lineno)d] %(message)s
日志时间 收集器名称 日志级别名称 文件名称 日志在代码多少行 自己定义的消息 '''
fmt = "%(asctime)s %(name)s %(levelname)s %(filename)s 第[%(lineno)d]行 %(message)s"
formatter = logging.Formatter(fmt)
# 创建一个输出渠道 -终端输出
handel = logging.StreamHandler()
handel.setFormatter(formatter)
# 创建一个输出渠道,文件输出
handel2 = logging.FileHandler("logger.log", encoding="utf-8")
# 定制输出渠道自己的日志级别,但是不能低于日志收集器的级别,比如日志收集器为ERROR 那么INFO就没有意义
# handel.setLevel(logging.INFO)
# 把输出渠道添加到日志收集器中
self.addHandler(handel)
self.addHandler(handel2)
logger = MyLogger("TIAN",file="tian.log")
读取配置文件
#-*- coding: utf-8 -*-
# @Time : 2021/1/7 0007
# @Author : tian
from configparser import ConfigParser
import os
class MyConf(ConfigParser):
'''
def __init__(self,filename):
super().__init__()
#读取配置文件
self.read(filename,encoding='utf-8')
'''
def __init__(self,filename):
super().__init__()
#读取配置文件
self.read(filename,encoding='utf-8')
conf_path = os.path.abspath(os.path.dirname(__file__))
ini_path = os.path.join(conf_path,r'nmb.ini')
conf = MyConf(ini_path)
#-*- coding: utf-8 -*-
# @Time : 2021/1/6 0006
# @Author : tian
import logging
from lenmon2.dayle.myConf import conf
#将日志输出到文件和控制台
#提供方法info() error() debug() critical() warning()
class MyLogger(logging.Logger):
'''
def __init__(self,name,level=logging.INFO,file="logger.py"):
super().__init__(name)#日志收集器名字
self.setLevel(level) #日志收集器级别
'''
def __init__(self):
super().__init__(conf.get("log","name"))#日志收集器名字
self.setLevel(conf.get("log","level")) #日志收集器级别
# 设置自己的日志格式
'''%(asctime)s %(name)s %(levelname)s %(filename)s [%(lineno)d] %(message)s
日志时间 收集器名称 日志级别名称 文件名称 日志在代码多少行 自己定义的消息 '''
fmt = "%(asctime)s %(name)s %(levelname)s %(filename)s 第[%(lineno)d]行 %(message)s"
formatter = logging.Formatter(fmt)
# 创建一个输出渠道 -终端输出
handel = logging.StreamHandler()
handel.setFormatter(formatter)
# 创建一个输出渠道,文件输出
handel2 = logging.FileHandler(conf.get("log","file"), encoding="utf-8")
# 定制输出渠道自己的日志级别,但是不能低于日志收集器的级别,比如日志收集器为ERROR 那么INFO就没有意义
# handel.setLevel(logging.INFO)
# 把输出渠道添加到日志收集器中
self.addHandler(handel)
self.addHandler(handel2)
logger = MyLogger()
logger.info('helloworld')