Python每天在文件中记录所有内容



我试图理解python日志模块,我目前遇到了一个问题。我正在向自己的代码中添加行以记录到文件,但我使用的是也向控制台输出数据的discord bot模块。我想记录自己的东西和模块日志到一个文件,每天创建一个新文件。

我可以使用TimedRotatingFileHandler将自己的日志输出到文件中,然后将相同的文件名添加到basicConfig中,但随后我自己的日志进入文件2x,用于执行每个日志操作。我也可以得到一切记录到basicConfig中的文件,但我不知道如何创建一个TimedRotationFileHandler,所以我不知道如何使用该方法每天制作一个日志文件。

谁能帮我解决这个问题?非常感谢!
from logging.handlers import TimedRotatingFileHandler
def createLog(name):
logging.basicConfig(level=logging.DEBUG, filename=name, filemode="a", format="%(asctime)s - %(levelname)s - %(message)s")
logfile = logging.getLogger(name)
if (logfile.hasHandlers()):
logfile.handlers.clear()
else:
print("No handlers")
handler = TimedRotatingFileHandler(name, when="midnight", interval=1)
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
handler.suffix = "%Y%m%d"
logfile.addHandler(handler)
logfile.setLevel(logging.DEBUG)
return logfile```
LOG_DIR_NAME = {log file name}
MAX_DAYS = { maximum number of days }
formatter = logging.Formatter('%(asctime)s | %(lineno)3d | %(levelname)5s | %(message)s')
logHandler = handlers.TimedRotatingFileHandler(LOG_DIR_NAME + logfile_name, when="midnight", interval=1, backupCount=MAX_DAYS)

希望对你有帮助或者你也可以检查这个answerPython:如何每天使用日志模块创建日志文件?

最新更新