В процессе создания системы журналов для скрипта Python, который я создал, я хочу очищать данные еженедельно, но я не уверен, что лучший способ продолжить.Ниже приведен код, который я создаю все, что мне нужно, чтобы фактически регистрировать элементы.
import logging
logger = logging.getLogger('Python Script Logger')
logger.setLevel(logging.INFO)
# Create a file handler
handler = logging.FileHandler('My_Test_Log.log')
handler.setLevel(logging.INFO)
# Create a logging format
formatter = logging.Formatter('%(asctime)s - Line: %(lineno)d - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
#add the handlers to the logger
logger.addHandler(handler)
logger.info('-----------------------------')
logger.info('Creating New Entry')
У меня есть что-то вроде этого, но ни одна из строк не удаляется, когда я вызываю функцию.Логика в том, что он открывает старый файл журнала, открывает новый файл и записывает в новый любые строки, которые не содержат метку времени, которую я хочу удалить.
def clear_logs():
date_array = ['2018-06-12']
with open('My_Test_log.log') as old_file, open('My_New_Test.log', 'w') as new_file:
for line in old_file:
if not any(date in line for date in date_array):
new_file.write(line)
Некоторые строки в моем файле журнала выглядят так:
2018-06-12 15:55:41,554 - Line:144 - ERROR - Error inserting row
2018-06-12 15:55:41,603 - Line:144 - ERROR - Error inserting row
2018-06-13 08:58:54,492 - Line:30 - INFO - -----------------------------
2018-06-13 08:58:54,493 - Line:31 - INFO - Creating New Entry
2018-06-13 08:58:54,493 - Line:205 - WARNING - Invalid argument provided