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 cpu_governor_auto_adjust.config import Config
|
||||||
from logging import Formatter
|
from logging import Formatter
|
||||||
|
|
||||||
|
|
||||||
class AppClass:
|
class AppClass:
|
||||||
def __init__(self, _config: Config) -> None:
|
def __init__(self, _config: Config) -> None:
|
||||||
self._config = _config
|
self._config = _config
|
||||||
self.log = getLogger(self.__class__.__name__, loglevel=_config.loglevel.upper())
|
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__}')
|
self.log.info(f'initializing {self.__class__.__name__}')
|
||||||
|
|||||||
@@ -2,10 +2,31 @@ import logging
|
|||||||
from logging import Logger
|
from logging import Logger
|
||||||
import os
|
import os
|
||||||
import sys
|
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:
|
def getLogger(name: str = 'root', loglevel: str = 'INFO') -> Logger:
|
||||||
logger = logging.getLogger(name)
|
logger = logging.getLogger(name)
|
||||||
|
logger_format = LoggerFormat()
|
||||||
|
|
||||||
# if logger 'name' already exists, return it to avoid logging duplicate
|
# if logger 'name' already exists, return it to avoid logging duplicate
|
||||||
# messages by attaching multiple handlers of the same type
|
# 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())
|
loglevel = getattr(logging, loglevel.upper())
|
||||||
logger.setLevel(loglevel)
|
logger.setLevel(loglevel)
|
||||||
if loglevel == logging.DEBUG:
|
if loglevel == logging.DEBUG:
|
||||||
fmt = '%(asctime)s %(levelname)-8s %(message)s (%(filename)s:%(lineno)d)'
|
fmt = logger_format.debug(class_name=name)
|
||||||
else:
|
else:
|
||||||
fmt = '%(asctime)s %(levelname)-8s %(message)s'
|
fmt = logger_format.info(class_name=name)
|
||||||
formatter = logging.Formatter(fmt)
|
formatter = logging.Formatter(fmt)
|
||||||
handler = logging.StreamHandler()
|
handler = logging.StreamHandler()
|
||||||
handler.setFormatter(formatter)
|
handler.setFormatter(formatter)
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class RoonTrigger(Trigger):
|
|||||||
self.log.debug("zone_id: %s zone_info: %s" , zone_id, zone)
|
self.log.debug("zone_id: %s zone_info: %s" , zone_id, zone)
|
||||||
zone_name = zone['display_name']
|
zone_name = zone['display_name']
|
||||||
zone_state = zone['state']
|
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)
|
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)
|
zones_state.append(zone_state)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "cpu_governor_auto_adjust"
|
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."
|
description = "This application has been developed to automatically change cpu governor based on certain triggers."
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "Martin Reurekas", email = "martin@semrks.nl" }
|
{ name = "Martin Reurekas", email = "martin@semrks.nl" }
|
||||||
|
|||||||
Reference in New Issue
Block a user