我有以下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
。我在网上搜索,但找不到任何内容。如何通过配置文件完成此操作?
答案 0 :(得分:0)
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