You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
706 B
28 lines
706 B
# scraper/logger.py
|
|
import logging
|
|
from io import StringIO
|
|
|
|
# In-memory buffer returned to web UI
|
|
LOG_BUFFER = StringIO()
|
|
|
|
|
|
def setup_logger():
|
|
logger = logging.getLogger("bookscraper")
|
|
logger.setLevel(logging.DEBUG)
|
|
logger.handlers = [] # voorkomen dubbele handlers bij reload
|
|
|
|
# Console handler
|
|
ch = logging.StreamHandler()
|
|
ch.setLevel(logging.DEBUG)
|
|
ch.setFormatter(logging.Formatter("[%(levelname)s] %(message)s"))
|
|
|
|
# Buffer handler for returning to UI
|
|
mh = logging.StreamHandler(LOG_BUFFER)
|
|
mh.setLevel(logging.DEBUG)
|
|
mh.setFormatter(logging.Formatter("[%(levelname)s] %(message)s"))
|
|
|
|
logger.addHandler(ch)
|
|
logger.addHandler(mh)
|
|
|
|
return logger
|