added logging to stdout

This commit is contained in:
socrates
2023-12-12 15:01:36 +01:00
parent fd4d56e667
commit c19896351a

View File

@@ -27,7 +27,7 @@ def fetch_via_browser(newfile):
"download.default_directory" : set['files'], "download.default_directory" : set['files'],
"profile.default_content_settings.popups" : 0, "profile.default_content_settings.popups" : 0,
} }
logging.debug("prefs: " + prefs) log.debug("prefs: " + prefs)
options.add_experimental_option("prefs", prefs) options.add_experimental_option("prefs", prefs)
options.add_argument("--headless") options.add_argument("--headless")
options.add_argument("--disable-dev-shm-usage") options.add_argument("--disable-dev-shm-usage")
@@ -69,32 +69,32 @@ def fetch_via_browser(newfile):
timeout += 1 timeout += 1
if timeout == 20: if timeout == 20:
logging.warning("Timeout beim Dateidownload erreicht.") log.warning("Timeout beim Dateidownload erreicht.")
browser.quit() browser.quit()
disp.stop() disp.stop()
except: except:
logging.error("Exception raised: ",sys.exc_info()) log.error("Exception raised: ",sys.exc_info())
def rotate_file(oldfile, newfile): def rotate_file(oldfile, newfile):
try: try:
os.remove(oldfile) os.remove(oldfile)
except Exception as e: except Exception as e:
logging.error("Fehler beim Löschen") log.error("Fehler beim Löschen")
if hasattr(e, 'message'): if hasattr(e, 'message'):
logging.error(e.message) log.error(e.message)
else: else:
logging.error(e) log.error(e)
try: try:
os.rename(newfile, oldfile) os.rename(newfile, oldfile)
except Exception as e: except Exception as e:
logging.error("Fehler beim Umbenennen") log.error("Fehler beim Umbenennen")
if hasattr(e, 'message'): if hasattr(e, 'message'):
logging.error(e.message) log.error(e.message)
else: else:
logging.error(e) log.error(e)
def compare_files(oldfile, newfile): def compare_files(oldfile, newfile):
results = [] results = []
@@ -110,8 +110,8 @@ def compare_files(oldfile, newfile):
old_sheet.calculate_dimension(force=True) old_sheet.calculate_dimension(force=True)
new_sheet.calculate_dimension(force=True) new_sheet.calculate_dimension(force=True)
logging.debug(f'Old-Sheet-Dimensions (mincol/maxcol:minrow/maxrow): {old_sheet.min_column}/{old_sheet.max_column}:{old_sheet.min_row}/{old_sheet.max_row}') log.debug(f'Old-Sheet-Dimensions (mincol/maxcol:minrow/maxrow): {old_sheet.min_column}/{old_sheet.max_column}:{old_sheet.min_row}/{old_sheet.max_row}')
logging.debug(f'New-Sheet-Dimensions (mincol/maxcolminrow/maxrow): {new_sheet.min_column}/{new_sheet.max_column}:{new_sheet.min_row}/{new_sheet.max_row}') log.debug(f'New-Sheet-Dimensions (mincol/maxcolminrow/maxrow): {new_sheet.min_column}/{new_sheet.max_column}:{new_sheet.min_row}/{new_sheet.max_row}')
global_min_row = min(old_sheet.min_row, new_sheet.min_row) global_min_row = min(old_sheet.min_row, new_sheet.min_row)
global_max_row = max(set.get('max_row', old_sheet.max_row), set.get('max_row', new_sheet.max_row)) global_max_row = max(set.get('max_row', old_sheet.max_row), set.get('max_row', new_sheet.max_row))
@@ -123,7 +123,7 @@ def compare_files(oldfile, newfile):
new_cell = new_sheet.cell(row=row, column=col) new_cell = new_sheet.cell(row=row, column=col)
old_cell = old_sheet.cell(row=row, column=col) old_cell = old_sheet.cell(row=row, column=col)
logging.debug(f'Performance Check, Cell: {col}:{row}') log.debug(f'Performance Check, Cell: {col}:{row}')
if new_cell.value != old_cell.value: if new_cell.value != old_cell.value:
if type(new_cell) is ReadOnlyCell: if type(new_cell) is ReadOnlyCell:
@@ -133,18 +133,18 @@ def compare_files(oldfile, newfile):
else: else:
coord = f'{col}/{row}' coord = f'{col}/{row}'
message = f'Veränderung in Zelle {coord}: {old_cell.value} ==> {new_cell.value}' message = f'Veränderung in Zelle {coord}: {old_cell.value} ==> {new_cell.value}'
logging.info(message) log.info(message)
results.append(message) results.append(message)
new_wb.close() new_wb.close()
old_wb.close() old_wb.close()
if not results: if not results:
logging.info("Keine Änderungen gefunden.") log.info("Keine Änderungen gefunden.")
else: else:
send_email(results, set['email_recipient']) send_email(results, set['email_recipient'])
else: else:
logging.warning('Kann Dateien nicht vergleichen, Dateien nicht vorhanden?') log.warning('Kann Dateien nicht vergleichen, Dateien nicht vorhanden?')
def send_email(results, recipient): def send_email(results, recipient):
@@ -196,11 +196,20 @@ def main():
compare_files(oldfile, newfile) compare_files(oldfile, newfile)
set = load_settings() set = load_settings()
logging.basicConfig( log = logging.getLogger()
level=set['loglevel'], log.setLevel(set['loglevel'])
format='[%(asctime)s] %(levelname)s: %(message)s', log_format = logging.Formatter('[dw-parser] %(asctime)s - %(levelname)s: %(message)s')
filename=set['logfile']
) handler_stdout = logging.StreamHandler(sys.stdout)
handler_stdout.setLevel(set['loglevel'])
handler_stdout.setFormatter(log_format)
handler_file = logging.FileHandler(set['logfile'])
handler_file.setLevel(set['loglevel'])
handler_file.setFormatter(log_format)
log.addHandler(handler_stdout)
log.addHandler(handler_file)
if __name__ == '__main__': if __name__ == '__main__':
main() main()