• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

yxchun

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

python 占位符 在日志输出模块logging的使用

python 占位符 在日志输出模块logging的使用,不使用占位符,只能输出字符串,但是我们平常也有可能会输出exception、time等、

1、%c,格式化字符及其ASCII码

2、%s,格式化字符串

3、%d,格式化整数

4、%u,格式化无符号整数

5、%o,格式化无符号八进制数
6、%f,浮点数(float)占位符,也可以表示整数(int),默认保留小数点后6位

logger的配置,可以将日志保存到当前文件目录中

import logging.config

import os

logger = logging.getLogger()
#获取当前路径,绝对路径 path
= os.path.abspath('.') #日志输出格式 formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
#日志输出路径和文件名,when=D是指:按照天分割文件 file_handler
= handlers.TimedRotatingFileHandler(filename=path+'\\send.log', when='D')
#设置日志级别
file_handler.setLevel(level=logging.DEBUG)
file_handler.setFormatter(formatter) logger.addHandler(file_handler)

日志输出例子:

logger.info("设备ID=%s ,  计划时间=%s分钟", deviceID, 5 )
logger.info("这是数字%d",800)
logger.info("这是小数%f",800)
logger.info("这是无符号整数%u",800)
logger.info("这是无符号八进制%o",21321)

输出结果

2022-07-08 13:54:22,844 - test10.py[line:43] - INFO: 设备ID=10_1_24_16 ,  计划时间=5分钟
2022-07-08 13:54:22,844 - test10.py[line:44] - INFO: 这是数字800
2022-07-08 13:54:22,844 - test10.py[line:45] - INFO: 这是小数800.000000
2022-07-08 13:54:22,844 - test10.py[line:46] - INFO: 这是无符号整数800
2022-07-08 13:54:22,844 - test10.py[line:47] - INFO: 这是无符号八进制51511

另外用%s,也可输出其他非字符串的数据:

logger.info("这是time 模块 %s",time)
logger.info("这是threading 模块 %s",threading)

结果

2022-07-08 13:58:34,437 - test10.py[line:44] - INFO: 这是time 模块 <module 'time' (built-in)>
2022-07-08 13:58:34,437 - test10.py[line:45] - INFO: 这是threading 模块 <module 'threading' from 'D:\\02tools\\python\\lib\\threading.py'>

 

posted on 2022-07-08 14:00  yxchun  阅读(1556)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3