Refactor logging setup across multiple modules to use loguru with consistent configuration

- Updated logging initialization in MessageCalendar, admin_edit_prof, elsa_main, graph, iconLine, searchPage, and richtext modules to use loguru.
- Changed log rotation and retention settings for log files to improve log management.
- Replaced logger.debug/info calls with log.debug/info for consistency.
- Fixed a typo in the searchPage UI and updated related references in the UI files.
- Removed unused imports and cleaned up code for better readability.
This commit is contained in:
2025-05-13 15:49:52 +02:00
parent 4a3a95623a
commit f7c499ea6e
32 changed files with 412 additions and 491 deletions

View File

@@ -3,22 +3,17 @@ from PyQt6.QtCore import pyqtSignal as Signal
from src.backend import Database
from src.logic.webrequest import BibTextTransformer, WebRequest
import loguru
import sys
from loguru import logger as log
logger = log
logger.remove()
logger.add(
"logs/bookgrabber_thread.log", rotation="1 week", retention="1 month", enqueue=True
)
log.add(
"logs/application.log",
rotation="1 day",
compression="zip",
)
log = loguru.logger
log.remove()
log.add(sys.stdout)
log.add("logs/application.log", rotation="1 MB", retention="10 days")
# logger.add(sys.stderr, format="{time} {level} {message}", level="INFO")
logger.add(sys.stdout)
log.add(sys.stdout)
class BookGrabber(QThread):
@@ -28,7 +23,7 @@ class BookGrabber(QThread):
def __init__(self):
super(BookGrabber, self).__init__(parent=None)
self.is_Running = True
logger.info("Starting worker thread")
log.info("Starting worker thread")
self.data = []
self.app_id = None
self.prof_id = None
@@ -49,21 +44,21 @@ class BookGrabber(QThread):
self.data: list[str] = data
self.use_any = any_book
self.use_exact = exact
logger.info(f"Working on {len(self.data)} entries")
log.info(f"Working on {len(self.data)} entries")
self.tstate = (self.app_id, self.prof_id, self.mode, self.data)
logger.debug("State: " + str(self.tstate))
log.debug("State: " + str(self.tstate))
self.request.set_apparat(self.app_id)
# logger.debug(self.tstate)
# log.debug(self.tstate)
def run(self):
self.db = Database()
item = 0
iterdata = self.data
# logger.debug(iterdata)
# log.debug(iterdata)
for entry in iterdata:
# logger.debug(entry)
logger.info("Processing entry: {}", entry)
# log.debug(entry)
log.info("Processing entry: {}", entry)
webdata = self.request.get_ppn(entry)
if self.use_any:
@@ -74,12 +69,12 @@ class BookGrabber(QThread):
continue
bd = BibTextTransformer(self.mode)
logger.debug(webdata)
log.debug(webdata)
if self.mode == "ARRAY":
if self.use_exact:
bd = bd.use_signature(entry)
bd = bd.get_data(webdata).return_data()
logger.debug(bd)
log.debug(bd)
if bd is None:
# bd = BookData
continue
@@ -92,29 +87,29 @@ class BookGrabber(QThread):
self.db.addBookToDatabase(bd, self.app_id, self.prof_id)
# get latest book id
self.book_id = self.db.getLastBookId()
logger.info("Added book to database")
log.info("Added book to database")
state = 0
for result in transformer.RDS_DATA:
# logger.debug(result.RDS_LOCATION)
# log.debug(result.RDS_LOCATION)
if str(self.app_id) in result.RDS_LOCATION:
state = 1
break
logger.info(f"State of {entry}: {state}")
logger.debug(
log.info(f"State of {entry}: {state}")
log.debug(
"updating availability of " + str(self.book_id) + " to " + str(state)
)
try:
self.db.setAvailability(self.book_id, state)
logger.debug("Added book to database")
log.debug("Added book to database")
except Exception as e:
logger.error(f"Failed to update availability: {e}")
logger.debug("Failed to update availability: " + str(e))
log.error(f"Failed to update availability: {e}")
log.debug("Failed to update availability: " + str(e))
# time.sleep(5)
item += 1
self.updateSignal.emit(item, len(self.data))
logger.info("Worker thread finished")
log.info("Worker thread finished")
# self.done.emit()
self.quit()
@@ -129,7 +124,7 @@ class BookGrabberTest(QThread):
def __init__(self, appnr: int):
super(BookGrabberTest, self).__init__(parent=None)
self.is_Running = True
logger.info("Starting worker thread")
log.info("Starting worker thread")
self.data = None
self.app_id = None
self.prof_id = None
@@ -150,19 +145,19 @@ class BookGrabberTest(QThread):
self.data = data
self.use_any = any_book
self.use_exact = exact
logger.info(f"Working on {len(self.data)} entries")
log.info(f"Working on {len(self.data)} entries")
self.tstate = (self.app_id, self.prof_id, self.mode, self.data)
logger.debug("State: " + str(self.tstate))
# logger.debug(self.tstate)
log.debug("State: " + str(self.tstate))
# log.debug(self.tstate)
def run(self):
item = 0
iterdata = self.data
# logger.debug(iterdata)
# log.debug(iterdata)
for entry in iterdata:
# logger.debug(entry)
# log.debug(entry)
signature = str(entry)
logger.info("Processing entry: " + signature)
log.info("Processing entry: " + signature)
webdata = WebRequest().set_apparat(self.app_id).get_ppn(entry)
if self.use_any:
@@ -187,22 +182,22 @@ class BookGrabberTest(QThread):
# confirm lock is acquired
# get latest book id
logger.info("Added book to database")
log.info("Added book to database")
state = 0
for result in transformer.RDS_DATA:
# logger.debug(result.RDS_LOCATION)
# log.debug(result.RDS_LOCATION)
if str(self.app_id) in result.RDS_LOCATION:
state = 1
break
logger.info(f"State of {signature}: {state}")
# logger.debug("updating availability of " + str(self.book_id) + " to " + str(state))
log.info(f"State of {signature}: {state}")
# log.debug("updating availability of " + str(self.book_id) + " to " + str(state))
self.results.append(bd)
# time.sleep(5)
item += 1
self.updateSignal.emit(item, len(self.data))
logger.info("Worker thread finished")
log.info("Worker thread finished")
# self.done.emit()
self.quit()