【Python基础函数笔记】获取当前时间并写入日志

1.获取当前时间

import os
from datetime import datetime
import pytz

def get_cur_time():
    # 获取当前时间
    return datetime.strftime(datetime.now(pytz.timezone('Asia/Singapore')), '%Y-%m-%d_%H-%M-%S')


# 基础目录
basedir = 'a'
logdir = os.path.join(basedir, 'logs', str('args.net'), get_cur_time())
print(logdir)

输出: 

2.使用logging写入日志

import logging
shotdir='aa'
logging.basicConfig(filename=shotdir + "/" + "snapshot.txt", level=logging.INFO,
                        format='[%(asctime)s.%(msecs)03d] %(message)s', datefmt='%H:%M:%S')
logging.info(str(args))
  1. logging.basicConfig(filename=shotdir + "/" + "snapshot.txt", level=logging.INFO, format='[%(asctime)s.%(msecs)03d] %(message)s', datefmt='%H:%M:%S'): 这一行代码对 logging.basicConfig 进行了更多配置。日志文件的路径通过 shotdir + "/" + "snapshot.txt" 来设置,即将日志文件放在 shotdir 目录下,并命名为 "snapshot.txt"。

  2. format='[%(asctime)s.%(msecs)03d] %(message)s': 这一行代码修改了日志的格式。%(asctime)s%(msecs)03d 表示日志的时间,精确到毫秒,格式为 "[时:分:秒.毫秒]",%(message)s 表示日志的具体内容。

  3. logging.info(str(args)): 这一行代码使用 logging.info 记录了一个日志,内容为 str(args),即将 args 转换为字符串后输出。这个日志信息将被写入到之前设置的 "snapshot.txt" 文件中。

来看个例子,上述代码放入训练文件中使用,直接套用。

import logging
# 配置日志记录器
logging.basicConfig(filename='app.log', level=logging.INFO,
                    format='%(asctime)s - %(levelname)s - %(message)s',datefmt='%H:%M:%S')

# 编写日志消息
logging.debug('1这是一个调试消息')
logging.info('这是一个信息消息')
logging.warning('这是一个警告消息')
logging.error('这是一个错误消息')
logging.critical('这是一个严重错误消息')

 这个文件很是奇怪,即使代码中改了日志的文件名,再次运行代码,日志还是会写进之前的那个日志文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Catherinemin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值