# Python/torch/深度学习——logging库生成日志
文章目录
前言
logging库生成日志使用记录,细节就不讲了,具体可看“Python的Logging模块”
参考网址:Python的Logging模块
参考网址:python保存日志文件
完整代码
import logging
import os
import time
def logging_init(logging_level=logging.INFO):
logger = logging.getLogger('socket_logger')
logger.setLevel(level=logging_level)
# 获取当前时间
time_line = time.strftime('%Y_%m_%d', time.localtime(time.time()))
# 保存文件夹路径
log_path = os.path.join(os.getcwd(), 'logging')
# 保存文本路径
log_file = os.path.join(log_path, f'{time_line}.txt')
handler = logging.FileHandler(log_file, encoding="utf-8", mode='a')
# 设置输出格式
formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
# 设置handler的输出格式
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger
def socket_log(logger, message):
logger.info(message)
logger = logging_init()
socket_log(logger, '1')
几个函数采坑记录
time.strftime()
获得当前时间,这里选择只保存年_月_日,用于按日建log文件,第二种是保存了秒和毫秒
time_line = time.strftime('%Y_%m_%d', time.localtime(time.time()))
# time_line = time.strftime('%Y_%m_%d_%H_%M', time.localtime(time.time()))
logging.getLogger()
这个括号里填不填好像区别不大?
目前没有出问题,也没找到有人讲,欢迎知道的大佬留言
logging.FileHandler()
# FileHandler():如果文件不存在,会自动创建文件,不需要再自己判断,但是如果是文件夹不存在会直接报错
# log_file:log文件的保存路径,以.txt结尾
# mode:总共两种模式
# 'w':覆盖写入,会自动清除之前log文件中内容
# 'a':在已有内容后继续写,不会清除已有内容
handler = logging.FileHandler(log_file, mode='w')
# encoding="utf-8":允许保存中文
handler = logging.FileHandler(log_file, encoding="utf-8", mode='a')
logging.Formatter()
详细内容可以看参考网址:Python的Logging模块
# 设置输出格式
# 当前日期(年-月-日 24小时制小时:分:秒,毫秒) - 等级名:信息
formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
# 示例输出结果:
# 2023-12-20 14:40:34,966 - INFO: 1