BonPrinter v1.2.0
Thermal Printer tool
Loading...
Searching...
No Matches
LogConfig Class Reference

Log configuration. More...

Public Member Functions

None __init__ (self, int i_log_level)
None update_log_level (self, int i_log_level)
 Sets a new log level for all handlers.

Public Attributes

 i_log_level = i_log_level
 root_logger = logging.getLogger()
 ui = None

Detailed Description

Log configuration.

Supports dynamic change of log level

Parameters
i_log_level: integer representing the initial log level

Definition at line 24 of file app_log.py.

Constructor & Destructor Documentation

◆ __init__()

None __init__ ( self,
int i_log_level )

Definition at line 30 of file app_log.py.

30 def __init__(self, i_log_level: int) -> None:
31 self.ui: "MainWindow | None" = None
32 self.i_log_level = i_log_level
33 self.root_logger = logging.getLogger()
34
35 # Clear existing handlers
36 self.root_logger.handlers.clear()
37
38 # initialize console handler to print log messages to stdout stream
39 console_handler = logging.StreamHandler()
40 console_handler.setFormatter(color_formatter)
41 console_handler.setLevel(self.i_log_level)
42 self.root_logger.addHandler(console_handler)
43
44 # save log messages additionally to a log file
45 file_handler = logging.FileHandler(S_LOGGING_FILE)
46 file_handler.setFormatter(formatter)
47 file_handler.setLevel(self.i_log_level)
48 self.root_logger.addHandler(file_handler)
49

Member Function Documentation

◆ update_log_level()

None update_log_level ( self,
int i_log_level )

Sets a new log level for all handlers.

Parameters
i_log_level: new log level

Definition at line 50 of file app_log.py.

50 def update_log_level(self, i_log_level: int) -> None:
51 """!
52 @brief Sets a new log level for all handlers
53 @param i_log_level : new log level
54 """
55 s_text = f"Verbosity set to {logging.getLevelName(i_log_level)}"
56 l_text = [s_text, f"Verbosität eingestellt auf {logging.getLevelName(i_log_level)}"]
57 if self.ui is not None:
58 self.ui.set_status(l_text)
59 else:
60 log.debug(s_text)
61
62 self.i_log_level = i_log_level
63 self.root_logger.setLevel(i_log_level)
64 # update log level for each log handler
65 for handler in self.root_logger.handlers:
66 handler.setLevel(i_log_level)
67 write_verbosity_settings(self.i_log_level)

Member Data Documentation

◆ i_log_level

i_log_level = i_log_level

Definition at line 32 of file app_log.py.

◆ root_logger

root_logger = logging.getLogger()

Definition at line 33 of file app_log.py.

◆ ui

ui = None

Definition at line 31 of file app_log.py.


The documentation for this class was generated from the following file: