diff --git a/parser.py b/parser.py index 054b421..6f5cfb4 100755 --- a/parser.py +++ b/parser.py @@ -27,7 +27,7 @@ def fetch_via_browser(newfile): "download.default_directory" : set['files'], "profile.default_content_settings.popups" : 0, } - logging.debug("prefs: " + prefs) + log.debug("prefs: " + prefs) options.add_experimental_option("prefs", prefs) options.add_argument("--headless") options.add_argument("--disable-dev-shm-usage") @@ -69,32 +69,32 @@ def fetch_via_browser(newfile): timeout += 1 if timeout == 20: - logging.warning("Timeout beim Dateidownload erreicht.") + log.warning("Timeout beim Dateidownload erreicht.") browser.quit() disp.stop() except: - logging.error("Exception raised: ",sys.exc_info()) + log.error("Exception raised: ",sys.exc_info()) def rotate_file(oldfile, newfile): try: os.remove(oldfile) except Exception as e: - logging.error("Fehler beim Löschen") + log.error("Fehler beim Löschen") if hasattr(e, 'message'): - logging.error(e.message) + log.error(e.message) else: - logging.error(e) + log.error(e) try: os.rename(newfile, oldfile) except Exception as e: - logging.error("Fehler beim Umbenennen") + log.error("Fehler beim Umbenennen") if hasattr(e, 'message'): - logging.error(e.message) + log.error(e.message) else: - logging.error(e) + log.error(e) def compare_files(oldfile, newfile): results = [] @@ -110,8 +110,8 @@ def compare_files(oldfile, newfile): old_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}') - 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'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'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_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) 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 type(new_cell) is ReadOnlyCell: @@ -133,18 +133,18 @@ def compare_files(oldfile, newfile): else: coord = f'{col}/{row}' message = f'Veränderung in Zelle {coord}: {old_cell.value} ==> {new_cell.value}' - logging.info(message) + log.info(message) results.append(message) new_wb.close() old_wb.close() if not results: - logging.info("Keine Änderungen gefunden.") + log.info("Keine Änderungen gefunden.") else: send_email(results, set['email_recipient']) else: - logging.warning('Kann Dateien nicht vergleichen, Dateien nicht vorhanden?') + log.warning('Kann Dateien nicht vergleichen, Dateien nicht vorhanden?') def send_email(results, recipient): @@ -196,11 +196,20 @@ def main(): compare_files(oldfile, newfile) set = load_settings() -logging.basicConfig( - level=set['loglevel'], - format='[%(asctime)s] %(levelname)s: %(message)s', - filename=set['logfile'] -) +log = logging.getLogger() +log.setLevel(set['loglevel']) +log_format = logging.Formatter('[dw-parser] %(asctime)s - %(levelname)s: %(message)s') + +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__': main()