繁体   English   中英

每次运行时更改日志文件名

[英]change log file name at every run

我有以下python日志记录配置文件

[loggers]
keys=root,paramiko

[handlers]
keys=consoleHandler,fileHandler

[formatters]
keys=consoleFormatter,fileFormatter

[logger_paramiko]
level=CRITICAL
handlers=consoleHandler,fileHandler
qualname=paramiko

[logger_root]
level=DEBUG
handlers=consoleHandler,fileHandler

[handler_consoleHandler]
class=StreamHandler
level=INFO
formatter=consoleFormatter
args=(sys.stdout,)

[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=fileFormatter
args=('run.log', 'w')

[formatter_consoleFormatter]
format=[%(asctime)s - %(levelname)s] %(message)s

[formatter_fileFormatter]
format=[%(asctime)s - %(pathname)s:%(lineno)s - %(levelname)s] %(message)s

如您所见,我正在登录控制台和文件。 该文件的名称为run.log 我希望能够在文件名后附加/添加时间戳, 2019-08-08__18:13:40-run.log我的日志文件命名为2019-08-08__18:13:40-run.log 我在网上搜索,但找不到任何内容。 如何通过配置文件来完成?

python从配置中读取args键的方式是通过eval()运行它,因此您可以在其中放置任何有效的代码。 您可以在此处放置几乎任何想要的东西,每次运行很可能会有所不同的是:

args=(str(time.time())+'.log', 'w') # needs import time in the code
args=(str(hash(' '))+'.log', 'w') # works without import, 99% chance to be unique

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM