如下,当我在使用python中的logging模块去创建日志文件的时候出现了如下的问题:
可以看到,我们的文件上面带上了蓝色的问号,主要原因是因为当我们在创建文件的时候如果没有指定文件的编码格式话,pycharm开发环境就会默认使用它的自己的编码格式,如GBK等。
我们可以直接鼠标右击带有蓝色问号的文件,选择第一个选项,如下:
以及去修改pycharm创建文件时所使用的编码格式,如下:
file→settings→editor→file encoding
如上修改之后我们再去执行程序创建文件:
mport logging
import time
import os
from logging.handlers import TimedRotatingFileHandler
if __name__ == '__main__':
if not os.path.exists("./teacherlogs3"):
os.mkdir("./teacherlogs3") # 在当前工作目录下创建teacherlogs3目录
logger = logging.getLogger("mylog") # 设置日志的名称
logger.setLevel(logging.INFO) # 设置日志的级别
file_name = r"./teacherlogs3/test.log" # 设置文件名称
fh = TimedRotatingFileHandler(file_name,"S") # 创建按照时间来自动生成的日志文件
ch = logging.StreamHandler() # 创建控制台处理器,用于向控制台输出日志
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter) # 指定格式化的日志输出的样式
ch.setFormatter(formatter)
logger.addHandler(fh) # 将logger对象与处理器进行绑定
logger.addHandler(ch)
while True: # 死循环只能手动去暂停
logger.info("info") # 输出日志
logger.error("error")
如上,所创建出来的文件就没有带上蓝色的问号,表示我们修改文件的编码格式成功。
有问题请在评论区留言。