コードの一部を見てください:
import logging
from logging.handlers import TimedRotatingFileHandler
def init_logger(port):
logFilePath = 'logs/test'+str(port)+'.log'
logger = logging.getLogger()
logger.setLevel(logging.INFO) #设置log级别,INFO(包含)以上都会报警
handler = TimedRotatingFileHandler(logFilePath,
when = 'midnight',
interval = 1,
backupCount=0)
#设置记录格式,按照 [当前时间-等级-信息] 记录
formatter = logging.Formatter('[%(asctime)s-%(levelname)s - %(message)s]')
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger
機能コードはであるログ/日のログでディレクトリ、毎日00:00に新しいログファイルを作成します。着信ポートが10086であると仮定すると、ルールの命名ログ:test10086.log.xxxx-xxxxは、どこXXXX-XXXXのための年-月-日。
TimedRotatingFileHandler:
- ロギングに統合されている一定の時間間隔を、提供することができるロギングタイプとして理解さTimedRotatingFileHandler呼び出し直接インスタンス化および構成を使用することができます
- TimedRotatingFileHandlerのコンストラクタは次のとおりです。
TimedRotatingFileHandler( filename , when , interval , backupCount) # filename :输出日志的文件名称前缀,比如说 test.log 这样的就是日志文件名前缀 # when :一个字符串,定义了日志切分的间隔时间单位,这是一个枚举类,可选参数如下: # "S":Second 秒 # "M":Minutes 分钟 # "H":Hour 小时 # "D":Days 天 # "W":Week day(0 = Monday) # "midnight":Roll over at midnight # interval:间隔时间单位的个数,指等待多少个 when 的时间后 Logger 会自动重建日志 # 继续进行记录。如果创建的文件和已有文件存在重名的情况,则会对历史的文件 # 进行覆盖操作。 # backupCount :保留日志的文件个数,默认参数为0,表示保留所有日志。 # 如果设置为 N(正整数),则只保留最多N个最新的日志文件。
ます。https://www.jianshu.com/p/e4c68816b5cfで再現