logging 日志配用
2024-09-01 16:10:14
第一步,创建一个logger;
第二步,创建一个handler,用于写入日志文件;
第三步,再创建一个handler,用于输出到控制台;
第四步,定义handler的输出格式;
第五步,将logger添加到handler里面。这段代码里面提到了好多概念,包括:Logger,Handler,Formatter。
#第一步 创建一个logger
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO) #log等级开关 #第二步 创建一个handler 用来写日志文件
fh = logging.FileHandler("test.log",encoding="utf-8")
fh.setLevel(logging.DEBUG) #输出到file 的log等级开关 #第三步 再创建一个handler 用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING) #输出到console的log等级开关 #第四步 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter) #第五步 将logger添加到handler里面
logger.addHandler(fh)
logger.addHandler(ch) #日志
logger.debug('logger debug message') # 计算或者工作的细节
logger.info('logger info message') # 记录一些用户的增删改查的操作
logger.warning('logger warning message') # 警告操作
logger.error('logger error message') # 错误操作
logger.critical('logger critical message') # 批判的 直接导致程序出错退出的
格式的常用语法
%(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:用户输出的消息
详情网址 http://dwz.cn/yPC4tFWL
最新文章
- html标签学习
- 第三条:用私有构造器或者枚举类型强化Singleton属性
- Unity3d热更新全书-加载(一)从AssetBundle说起
- free命令
- Apahce的虚拟用户认证及server-status页
- UVALive 3027(并查集)
- linux select 与 阻塞( blocking ) 及非阻塞 (non blocking)实现io多路复用的示例
- hdu 确定比赛名次
- Javascript技巧实例精选(2)—文字水平方向上动态漂移
- Openfire3.9.1+jdk1.7导入到eclipse中
- linux常用命令(不断更新)
- JAVA面试精选【Java web部分一】
- 转载(windows下安装mysql)
- 在windows下MySQL-python的安装
- Spring 切面优先级
- Python3.x:pip命令安装第三方库,超时处理方案
- a+b_1
- Robot Framework Change chrome language
- HTTP状态码具体解释
- 解析CEPH: 存储引擎实现之一 filestore