Added logging to file

This commit is contained in:
Florian Kaiser 2024-07-27 00:42:50 +02:00
parent f36f327bf1
commit de834b16e5
5 changed files with 27 additions and 15 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ __pycache__/*
tmp/*
venv/*
.env
main.log

View File

@ -5,6 +5,7 @@ import PyPDF2
import re
from dotenv import load_dotenv
from geopy.geocoders import Nominatim
from logger import logging
load_dotenv(override=True)
@ -45,12 +46,12 @@ def get_draeger_json(text):
data["city"] = city[0] + " " + city[1]
data["cityDistrict"] = city[2]
except Exception as e:
print(f'Fehler: {e}')
logging.error(f'Fehler: {e}')
data["lat"] = match[0][7][:2] + '.' + match[0][7][2:]
data["lon"] = match[0][8][:2] + '.' + match[0][8][2:]
print(data)
logging.debug(data)
return data
else:
return None

8
logger.py Normal file
View File

@ -0,0 +1,8 @@
import logging
logging.basicConfig(
filename='./main.log',
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)

View File

@ -3,7 +3,7 @@ import imaplib
import email
from email.header import decode_header
import os
from logger import logging
from helpers import get_draeger_json, read_pdf
load_dotenv(override=True)
@ -52,11 +52,11 @@ def check_email():
if filename.endswith('.pdf'):
pdf_text = read_pdf(filepath).replace("\n", "")
print(get_draeger_json(pdf_text))
logging.info(get_draeger_json(pdf_text))
mail.logout()
except Exception as e:
print(f'Fehler: {e}')
logging.error(f'Fehler: {e}')
if __name__ == "__main__":
check_email()

16
main.py
View File

@ -8,6 +8,7 @@ from email.header import decode_header
import os
import time
from helpers import get_draeger_json, read_pdf
from logger import logging
load_dotenv(override=True)
@ -44,7 +45,7 @@ def check_email():
subject = subject.decode(encoding if encoding else 'utf-8')
from_ = msg.get("From")
print(f'Neue E-Mail von {from_} mit Betreff: {subject}')
logging.info(f'Neue E-Mail von {from_} mit Betreff: {subject}')
for part in msg.walk():
if part.get_content_maintype() == 'multipart':
@ -63,28 +64,29 @@ def check_email():
r = requests.post('https://einsatzmeldesystem.de/ems/inbound/deployment/universal/', json=get_draeger_json(pdf_text))
print(r.status_code)
print(r.json())
logging.debug(r.status_code)
logging.debug(r.json())
except Exception as e:
data = {}
data["apiKey"] = DRAEGER_API_KEY
r = requests.post('https://einsatzmeldesystem.de/ems/inbound/deployment/universal/', json=data)
r = requests.get(HEALTHCHECK_URL + "?status=down&msg=Can not parse data. Alarming with empty data&ping=")
print(r.status_code)
logging.debug(r.status_code)
mail.logout()
except Exception as e:
print(f'Fehler: {e}')
logging.error(f'Fehler: {e}')
r = requests.get(HEALTHCHECK_URL + "?status=down&msg=Can not connect to mail server&ping=")
print(r.status_code)
logging.debug(r.status_code)
if __name__ == "__main__":
while True:
logging.debug("Loop")
check_email()
r = requests.get(HEALTHCHECK_URL + "?status=up&msg=OK&ping=")
print(r.status_code)
logging.debug(r.status_code)
time.sleep(CHECK_INTERVAL)