一,级别的概念
logging.debug(\'debug\')
logging.info(\'info\')
logging.warning(\'warning\')
logging.error(\'error\')
logging.critical(\'critical\')
默认输出结果是warning以上的级别,如果输出以下级别需要修改配置信息。
#修改配置信息(修改默认的信息)
# logging.basicConfig(filename=\'a.txt\', #指定的文件名
# filemode=\'a\', #文件打开的模式
# level=logging.DEBUG, #指定级别
# format=\'%(filename)s %(levelname)s %(asctime)s %(message)s\') #指定显示的格式
# format的多种格式参见笔记
# logging.debug(\'debug\')
# logging.info(\'info\')
# logging.warning(\'warning\')
# logging.error(\'error\')
# logging.critical(\'critical\')
#format的多种格式
\'\'\'
%(name)s:Logger的名字,并非用户名,详细查看
%(levelno)s:数字形式的日志级别
%(levelname)s:文本形式的日志级别
%(pathname)s:调用日志输出函数的模块的完整路径名,可能没有
%(filename)s:调用日志输出函数的模块的文件名
%(module)s:调用日志输出函数的模块名
%(funcName)s:调用日志输出函数的函数名
%(lineno)d:调用日志输出函数的语句所在的代码行
%(created)f:当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d:输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s:字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d:线程ID。可能没有
%(threadName)s:线程名。可能没有
%(process)d:进程ID。可能没有
%(message)s:用户输出的消息
\'\'\'
三,具体需求的实现
自定义四种核心功能
生成器:
mylog = logging.getLogger(\"mylog\")
# 参数指定的是生成器的名称 (因为可以同时存在多个生成器)
mylog.setLevel(10)
# 设置生成器的级别 低于该级别的不会生成
过滤器 :
#暂时忽略,要用到面向对象的值是,而且可以通过生成器setlevel过滤
处理器:
handler = logging.FileHandler(\"youlog.txt\",encoding=\"utf8\",)
#文件名, 编码格式
#将处理器 绑定给生成器, add函数表明了一个生成器可以添加多个处理器
mylog.addHandler(handler) #固定用法,生成器+内置函数+处理器名字
格式化处理器:
formater = logging.Formatter(fmt=\"%(filename)s %(levelname)s %(asctime)s %(message)s\")
# # 将格式化处理器 绑定给 handler
# handler.setFormatter(formater)
执行代码,文件内输出日志结果。
更改需求,实现对多个对象不同需求的实现
mylog = logging.getLogger(\"mylog\")
mylog.setLevel(10)
handler1 = logging.FileHandler(\"youlog.txt\",encoding=\"utf8\")
mylog.addHandler(handler1)
handler2 = logging.FileHandler(\"boss.txt\",encoding=\"utf8\",)
mylog.addHandler(handler2)
formater1= logging.Formatter(fmt=\"%(threadName)s %(funcName)s %(module)s %(filename)s %(levelname)s %(asctime)s %(message)s\")
handler1.setFormatter(formater1)
formater2= logging.Formatter(fmt=\"%(levelname)s %(asctime)s %(message)s\")
handler2.setFormatter(formater2)
mylog.info(\"info\")
....
mylog.critical(\"critical\")
重点,四,引用配置模块
#logging.config 专门用于配置logging 模块
import loggin.config
#通过一个字典来配置 logging模块
logging.config.dictConfig(loggin_config.LOGGING_DIC)
#字典作为参数传入,logging.getLogger(\'aa\')拿到的logger配置
#aaloger是定义生成器的变量
aaloger = logging.getLogger(\"aa\")
#输出执行结果
aaloger.info(\"测试信息!\")
#当要获取的名称不存在时 会返回一个默认的生成器
#默认是warning级别
继续阅读与本文标签相同的文章
上一篇 :
忆阻器制成神经网络更高效
下一篇 :
java8 函数式编程一
-
阿里云学生服务器搭建网站(1)-购买阿里云学生服务器
2026-05-19栏目: 教程
-
提高云资源的利用效率,降低阿里云的成本支出
2026-05-19栏目: 教程
-
东方富海董事长陈玮:想要牛市,要大幅提升直投比例。
2026-05-19栏目: 教程
-
一个系统,搞定闲鱼服务端复杂问题告警-定位-快速处理
2026-05-19栏目: 教程
-
中小企业如何建官方网站 | 推荐阿里云自营建站服务
2026-05-19栏目: 教程
