首先,想到的是更改logging.basicConfig(filename=logfilename)引數,來實現變更日誌檔名的目的。編寫程式碼如下:
log_fmt = "%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s"
for i in range(1,4):
filename = str.format("mylog%d.txt" % i)
logging.basicConfig(format=log_fmt, level=logging.DEBUG, filename=filename)
logging.debug("This is debug message")
logging.info("This is info message")
logging.warning("This is warning message")12345678
執行結果沒有達到預期的效果,只有日誌檔案mylog1.txt被建立,mylog2.txt和mylog3.txt都未被建立,連續3次的輸出的內容都寫入mylog1.txt中。說明logging.basicConfig()設定屬性具有全域性性,第一次設定之後,之後再設定將不再生效。檢視官方文件,也確實是如此。
首先,想到的是更改logging.basicConfig(filename=logfilename)引數,來實現變更日誌檔名的目的。編寫程式碼如下:
log_fmt = "%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s"
for i in range(1,4):
filename = str.format("mylog%d.txt" % i)
logging.basicConfig(format=log_fmt, level=logging.DEBUG, filename=filename)
logging.debug("This is debug message")
logging.info("This is info message")
logging.warning("This is warning message")12345678
執行結果沒有達到預期的效果,只有日誌檔案mylog1.txt被建立,mylog2.txt和mylog3.txt都未被建立,連續3次的輸出的內容都寫入mylog1.txt中。說明logging.basicConfig()設定屬性具有全域性性,第一次設定之後,之後再設定將不再生效。檢視官方文件,也確實是如此。