improvement logging
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
from cpu_governor_auto_adjust.logger import getLogger
|
||||
from cpu_governor_auto_adjust.logger import getLogger, LoggerFormat
|
||||
from cpu_governor_auto_adjust.config import Config
|
||||
from logging import Formatter
|
||||
|
||||
|
||||
class AppClass:
|
||||
def __init__(self, _config: Config) -> None:
|
||||
self._config = _config
|
||||
self.log = getLogger(self.__class__.__name__, loglevel=_config.loglevel.upper())
|
||||
app_class_logging_format = self.log.handlers[0].formatter._fmt.replace("%(asctime)s %(levelname)-8s", f"%(asctime)s %(levelname)-8s [{self.__class__.__name__}]")
|
||||
self.log.handlers[0].setFormatter(Formatter(app_class_logging_format))
|
||||
self.log.info(f'initializing {self.__class__.__name__}')
|
||||
|
||||
@@ -2,10 +2,31 @@ import logging
|
||||
from logging import Logger
|
||||
import os
|
||||
import sys
|
||||
from typing import NamedTuple, Optional
|
||||
|
||||
|
||||
class LoggerFormat(NamedTuple):
|
||||
time: str = '%(asctime)s'
|
||||
level: str = '%(levelname)-8s'
|
||||
message: str = '%(message)s'
|
||||
filename: str = '%(filename)s'
|
||||
lineno: int = '%(lineno)d'
|
||||
|
||||
def _base(self, class_name: Optional[str] = None) -> str:
|
||||
if class_name is not None:
|
||||
return f"{self.time} {self.level} [{class_name}] {self.message} "
|
||||
return f"{self.time} {self.level} {self.message}"
|
||||
|
||||
def info(self, class_name: Optional[str] = None) -> str:
|
||||
return f"{self._base(class_name)}"
|
||||
|
||||
def debug(self, class_name: Optional[str] = None) -> str:
|
||||
return f"{self._base(class_name)} ({self.filename}:{self.lineno})"
|
||||
|
||||
|
||||
def getLogger(name: str = 'root', loglevel: str = 'INFO') -> Logger:
|
||||
logger = logging.getLogger(name)
|
||||
logger_format = LoggerFormat()
|
||||
|
||||
# if logger 'name' already exists, return it to avoid logging duplicate
|
||||
# messages by attaching multiple handlers of the same type
|
||||
@@ -17,9 +38,9 @@ def getLogger(name: str = 'root', loglevel: str = 'INFO') -> Logger:
|
||||
loglevel = getattr(logging, loglevel.upper())
|
||||
logger.setLevel(loglevel)
|
||||
if loglevel == logging.DEBUG:
|
||||
fmt = '%(asctime)s %(levelname)-8s %(message)s (%(filename)s:%(lineno)d)'
|
||||
fmt = logger_format.debug(class_name=name)
|
||||
else:
|
||||
fmt = '%(asctime)s %(levelname)-8s %(message)s'
|
||||
fmt = logger_format.info(class_name=name)
|
||||
formatter = logging.Formatter(fmt)
|
||||
handler = logging.StreamHandler()
|
||||
handler.setFormatter(formatter)
|
||||
|
||||
@@ -29,7 +29,7 @@ class RoonTrigger(Trigger):
|
||||
self.log.debug("zone_id: %s zone_info: %s" , zone_id, zone)
|
||||
zone_name = zone['display_name']
|
||||
zone_state = zone['state']
|
||||
zone_now_playing = zone['now_playing']['one_line']['line1']
|
||||
zone_now_playing = f"{zone['now_playing']['two_line']['line1']} - {zone['now_playing']['two_line']['line2']}"
|
||||
self.log.info("zone_id: %s name: %s, state: %s, now playing: %s" , zone_id, zone_name, zone_state, zone_now_playing)
|
||||
zones_state.append(zone_state)
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "cpu_governor_auto_adjust"
|
||||
version = "0.1.26"
|
||||
version = "0.1.28"
|
||||
description = "This application has been developed to automatically change cpu governor based on certain triggers."
|
||||
authors = [
|
||||
{ name = "Martin Reurekas", email = "martin@semrks.nl" }
|
||||
|
||||
Reference in New Issue
Block a user