简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
文章目录
- 1.前言
- 2.代码示例
- <1>.V1.0:打印输出到控制台(print和logging)
- <2>.V2.0:打印输出到控制台(print和logging)
- <3>.V3.0:打印输出到文件
1.前言
本篇目的:为了调试python运行程序无法看到实时log问题,将日志写入到文件,方便查看调试。
2.代码示例
<1>.V1.0:打印输出到控制台(print和logging)
import logging
import sys
import os
class My_Log:
def __init__(self, name):
self.name = name
# 创建日志记录器
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
# 日志等级
logger.debug('调试信息')
logger.info('信息')
logger.warning('警告信息')
logger.error('错误信息')
logger.critical('严重错误信息')
count = "123356abc"
print("format = " + count)
if __name__ == "__main__":
ml = My_Log("Log")
<2>.V2.0:打印输出到控制台(print和logging)
import logging
import sys
import os
class My_Log:
def __init__(self, name):
self.name = name
# 创建日志记录器
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
# 创建控制台处理程序并设置级别为调试
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# 创建格式化程序
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 将格式化程序添加到ch
ch.setFormatter(formatter)
# 将ch添加到记录器
logger.addHandler(ch)
# 示例用法
logger.debug('调试信息')
logger.info('信息')
logger.warning('警告信息')
logger.error('错误信息')
logger.critical('严重错误信息')
count = "123356abc"
print("format = " + count)
if __name__ == "__main__":
ml = My_Log("Log")
<3>.V3.0:打印输出到文件
import logging
import sys
import os
class My_Log:
def __init__(self, name):
self.name = name
def write_log_to_file(self):
print("Hello, " + self.name + "!")
# 创建文件处理程序并设置级别为调试
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler(os.path.split(os.path.abspath(__file__))[0] + "/03.log")
fh.setLevel(logging.DEBUG)
#时间/函数名/打印级别
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 将格式化程序添加到fh
fh.setFormatter(formatter)
# 将fh添加到记录器
logger.addHandler(fh)
logger.debug('调试信息')
logger.info('信息')
logger.warning('警告信息')
logger.error('错误信息')
logger.critical('严重错误信息')
if __name__ == "__main__":
ml = My_Log("Log")
#ml.write_log_to_file()
#print("current_path = " + os.path.split(os.path.abspath(__file__))[0])
注意:log路径在当前目录下:03.log