常见模块(二) logging模块
2024-10-15 22:21:41
logging模块是专门做日志系统的.分为函数版和自定义函数.
(一)logging模块初级版
缺点,不能指定字符集,不能把屏幕输出和文件日志同时记录。只能选择其一。
文件记录日志
import logging logging.basicConfig(
level = 30,
filename = "logger.log",
filemode = "a",
format = '%(asctime)s-%(name)s-%(lineno)d-%(message)s', ) logging.warning("这是一个警告")
logging.error("这是一个错误")
logging.critical("这是一个严重错误")
屏幕输出日志
import logging logging.basicConfig(
level = 30,
#filename = "logger.log",
filemode = "a",
format = '%(asctime)s-%(name)s-%(lineno)d-%(message)s', ) logging.warning("这是一个警告")
logging.error("这是一个错误")
logging.critical("这是一个严重错误")
(二)logging模块中自定义日志系统
import logging
logger = logging.getLogger() # 自定义一个模块系统
Formatter = logging.Formatter('%(asctime)s-%(name)s-%(lineno)d-%(message)s') # 定义日志输出格式
ft = logging.FileHandler("logger.log", "a", encoding="utf-8") # 定义文件流
st = logging.StreamHandler() # 定义屏幕流
ft.setFormatter(Formatter) # 将格式加载到文件流中
st.setFormatter(Formatter) # 将格式加载到屏幕流中
logger.addHandler(ft) # 将文件流加载到自定义的loger日志系统中
logger.addHandler(st) # 将屏幕流加载到自定义的loger日志系统中
logger.debug("这是一个debug")
logger.info("这是一个info")
logger.warning("这是一个warning")
logger.error("这是一个error")
logger.critical("这是一个critical") logger.removeHandler(ft) # 将Handler移除,避免下次调用,生成同样的Handler导致重复日志,Eg:第一次输出日志一行,第二次输出同样的两行日志(因为又生成了一个Handler)
# 第三次输出同样的三行日志
常用方法:
import logging ft = logging.FileHandler("logger.log", "a", encoding="utf-8") # 定义文件流
Formatter = logging.Formatter('%(asctime)s Username:%(name)s message-%(message)s',datefmt='%Y:%m:%d') # 定义日志输出格式
ft.setFormatter(Formatter) # 将格式加载到文件流中 logger = logging.Logger(name='a',level=logging.DEBUG) # 自定义一个模块系统
logger.addHandler(ft) # 将文件流加载到自定义的loger日志系统中
最新文章
- QT网络编程
- springMVC下jsp引用外部js,css等静态资源的解决方法
- http-2.4.18 安装
- iOS开发项目之三 [ 自定义tabBarCtrl]
- Jquery调用webService的四种方法
- MSM8974 fastboot烧写软件
- Azure 自动化:使用PowerShell Credential连接到Azure
- matlab数据的导入和导出,以matlab工作区workspace为source和destination
- LeetCode(3) - Longest Substring Without Repeating Characters
- PHP 魔术方法(所有的魔术方法)
- Unbound classpath container: &;#39;JRE System Library [jdk17060]&;#39; in project ***
- 初学者必知的HTML规范
- 25个超有用的 AngularJS Web 开发工具
- Sublime codeIntel 配置支持php自动提示
- 当freemarker中EL表达式的值为空时出现异常的解决方法
- 【转】Python高级知识点总结
- H5新属性FileReader实现选择图片后立即显示在页面上
- 关于 Shell 的相关概念和配置方法,全在这儿了!
- Mac使用Shell(终端)SSH连接远程服务器
- onkeydown事件