Rotary Logger  1.0.2
The middleware rotary logger
Loading...
Searching...
No Matches
rotary_logger.rogger.Rogger Class Reference
Collaboration diagram for rotary_logger.rogger.Rogger:
Collaboration graph

Public Member Functions

"Rogger" __new__ (cls)
 
None __init__ (self, bool program_log=False, bool program_debug_log=False, bool suppress_program_warning_logs=False, bool suppress_program_error_logs=False)
 
None re_toggle (self, bool program_log=False, bool program_debug_log=False, bool suppress_program_warning_logs=False, bool suppress_program_error_logs=False)
 
None log_success (self, str message, *, Optional[str] function_name=None, Optional[str] class_name=None, Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream=RAW_STDOUT)
 
None log_info (self, str message, *, Optional[str] function_name=None, Optional[str] class_name=None, Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream=RAW_STDOUT)
 
None log_warning (self, str message, *, Optional[str] function_name=None, Optional[str] class_name=None, Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream=RAW_STDERR)
 
None log_error (self, str message, *, Optional[str] function_name=None, Optional[str] class_name=None, Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream=RAW_STDERR)
 
None log_critical (self, str message, *, Optional[str] function_name=None, Optional[str] class_name=None, Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream=RAW_STDERR)
 
None log_debug (self, str message, *, Optional[str] function_name=None, Optional[str] class_name=None, Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream=RAW_STDOUT)
 

Data Fields

LogToggle toggles
 
str program_name = f"{MODULE_NAME}"
 
str success = "SUCCESS"
 
str info = "INFO"
 
str warning = "WARNING"
 
str error = "ERROR"
 
str critical = "CRITICAL"
 
str debug = "DEBUG"
 

Static Public Attributes

Rogger RI = Rogger()
 

Protected Member Functions

LogToggle _create_log_toggle (self, bool program_log=False, bool program_debug_log=False, bool suppress_program_warning_logs=False, bool suppress_program_error_logs=False)
 
str _get_date (self)
 
Optional[str] _get_class_name (self, int depth=1)
 
Optional[str] _get_function_name (self, int depth=2)
 
None _log_if_possible (self, str log_type, str message, Optional[str] function_name, Optional[str] class_name, Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream)
 

Static Protected Attributes

RLock _class_lock = RLock()
 
RLock _function_lock = RLock()
 
Optional _instance = None
 

Detailed Description

This is a custom made class that aims to work seamlessly with the library so that it doesn't break streams.

Definition at line 47 of file rogger.py.

Constructor & Destructor Documentation

◆ __init__()

None rotary_logger.rogger.Rogger.__init__ ( self,
bool program_log = False,
bool program_debug_log = False,
bool suppress_program_warning_logs = False,
bool suppress_program_error_logs = False )

Definition at line 62 of file rogger.py.

Member Function Documentation

◆ __new__()

"Rogger" rotary_logger.rogger.Rogger.__new__ ( cls)

Definition at line 56 of file rogger.py.

◆ _create_log_toggle()

LogToggle rotary_logger.rogger.Rogger._create_log_toggle ( self,
bool program_log = False,
bool program_debug_log = False,
bool suppress_program_warning_logs = False,
bool suppress_program_error_logs = False )
protected
Define which log modes can be used.

Returns:
    LogToggle: The dataclass to follow.

Definition at line 109 of file rogger.py.

◆ _get_class_name()

Optional[str] rotary_logger.rogger.Rogger._get_class_name ( self,
int depth = 1 )
protected
Determine the name of the class that called the log

Args:
    depth (int, optional): The upstream depth to look into. Defaults to 2.

Returns:
    Optional[str]: The name of the class (if any)

Definition at line 166 of file rogger.py.

◆ _get_date()

str rotary_logger.rogger.Rogger._get_date ( self)
protected
The function in charge of returning the date string for the line.

Returns:
    str: the string ready to be embedded.

Definition at line 152 of file rogger.py.

◆ _get_function_name()

Optional[str] rotary_logger.rogger.Rogger._get_function_name ( self,
int depth = 2 )
protected
Determine the name of the function that called the log

Args:
    depth (int, optional): The upstream depth to look into. Defaults to 2.

Returns:
    Optional[str]: The name of the function (if any)

Definition at line 225 of file rogger.py.

◆ _log_if_possible()

None rotary_logger.rogger.Rogger._log_if_possible ( self,
str log_type,
str message,
Optional[str] function_name,
Optional[str] class_name,
Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream )
protected
The generic function to log the message to the provided stream

Args:
    log_type (str): The type of log message (Info, Warning, Error, etc)
    message (str): The message provided by the user
    function_name (Optional[str]): The name of the function
    stream (Union[TextIO, TeeStream]): The stream to write to

Definition at line 263 of file rogger.py.

◆ log_critical()

None rotary_logger.rogger.Rogger.log_critical ( self,
str message,
* ,
Optional[str] function_name = None,
Optional[str] class_name = None,
Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream = RAW_STDERR )
Log a critical message to the stream (if logging conditions are met)

Args:
    message (str): The message to display
    function_name (Optional[str], optional): The name of the function calling it. Defaults to None.
    class_name (Optional[str], optional): The name of the class calling it. Defaults to None.
    stream (Union[TextIO, TeeStream], optional): The stream to write to. Defaults to RAW_STDERR.

Definition at line 375 of file rogger.py.

◆ log_debug()

None rotary_logger.rogger.Rogger.log_debug ( self,
str message,
* ,
Optional[str] function_name = None,
Optional[str] class_name = None,
Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream = RAW_STDOUT )
Log a debug message to the stream (if logging conditions are met)

Args:
    message (str): The message to display
    function_name (Optional[str], optional): The name of the function calling it. Defaults to None.
    class_name (Optional[str], optional): The name of the class calling it. Defaults to None.
    stream (Union[TextIO, TeeStream], optional): The stream to write to. Defaults to RAW_STDOUT.

Definition at line 398 of file rogger.py.

◆ log_error()

None rotary_logger.rogger.Rogger.log_error ( self,
str message,
* ,
Optional[str] function_name = None,
Optional[str] class_name = None,
Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream = RAW_STDERR )
Log an error message to the stream (if logging conditions are met)

Args:
    message (str): The message to display
    function_name (Optional[str], optional): The name of the function calling it. Defaults to None.
    class_name (Optional[str], optional): The name of the class calling it. Defaults to None.
    stream (Union[TextIO, TeeStream], optional): The stream to write to. Defaults to RAW_STDERR.

Definition at line 352 of file rogger.py.

◆ log_info()

None rotary_logger.rogger.Rogger.log_info ( self,
str message,
* ,
Optional[str] function_name = None,
Optional[str] class_name = None,
Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream = RAW_STDOUT )
Log a info message to the stream (if logging conditions are met)

Args:
    message (str): The message to display
    function_name (Optional[str], optional): The name of the function calling it. Defaults to None.
    class_name (Optional[str], optional): The name of the class calling it. Defaults to None.
    stream (Union[TextIO, TeeStream], optional): The stream to write to. Defaults to RAW_STDOUT.

Definition at line 306 of file rogger.py.

◆ log_success()

None rotary_logger.rogger.Rogger.log_success ( self,
str message,
* ,
Optional[str] function_name = None,
Optional[str] class_name = None,
Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream = RAW_STDOUT )
Log a success message to the stream (if logging conditions are met)

Args:
    message (str): The message to display
    function_name (Optional[str], optional): The name of the function calling it. Defaults to None.
    class_name (Optional[str], optional): The name of the class calling it. Defaults to None.
    stream (Union[TextIO, TeeStream], optional): The stream to write to. Defaults to RAW_STDOUT.

Definition at line 283 of file rogger.py.

◆ log_warning()

None rotary_logger.rogger.Rogger.log_warning ( self,
str message,
* ,
Optional[str] function_name = None,
Optional[str] class_name = None,
Union[Optional[TextIOWrapper], TextIO, "TeeStream"] stream = RAW_STDERR )
Log a warning message to the stream (if logging conditions are met)

Args:
    message (str): The message to display
    function_name (Optional[str], optional): The name of the function calling it. Defaults to None.
    class_name (Optional[str], optional): The name of the class calling it. Defaults to None.
    stream (Union[TextIO, TeeStream], optional): The stream to write to. Defaults to RAW_STDERR.

Definition at line 329 of file rogger.py.

◆ re_toggle()

None rotary_logger.rogger.Rogger.re_toggle ( self,
bool program_log = False,
bool program_debug_log = False,
bool suppress_program_warning_logs = False,
bool suppress_program_error_logs = False )
Re-create the toggle settings after the class has already been initialised.

Args:
    program_log (bool, optional): Wether to log to the terminal. Defaults to False.
    program_debug_log (bool, optional): Wether to log debug. Defaults to False.
    suppress_program_warning_logs (bool, optional): Wether to display warnings or not. Defaults to False.
    suppress_program_error_logs (bool, optional): Wether to display errors or not. Defaults to False.

Definition at line 85 of file rogger.py.

Field Documentation

◆ _class_lock

RLock rotary_logger.rogger.Rogger._class_lock = RLock()
staticprotected

Definition at line 52 of file rogger.py.

◆ _function_lock

RLock rotary_logger.rogger.Rogger._function_lock = RLock()
staticprotected

Definition at line 53 of file rogger.py.

◆ _instance

Optional rotary_logger.rogger.Rogger._instance = None
staticprotected

Definition at line 54 of file rogger.py.

◆ critical

str rotary_logger.rogger.Rogger.critical = "CRITICAL"

Definition at line 82 of file rogger.py.

◆ debug

str rotary_logger.rogger.Rogger.debug = "DEBUG"

Definition at line 83 of file rogger.py.

◆ error

str rotary_logger.rogger.Rogger.error = "ERROR"

Definition at line 81 of file rogger.py.

◆ info

str rotary_logger.rogger.Rogger.info = "INFO"

Definition at line 79 of file rogger.py.

◆ program_name

str rotary_logger.rogger.Rogger.program_name = f"{MODULE_NAME}"

Definition at line 77 of file rogger.py.

◆ RI

Rogger rotary_logger.rogger.Rogger.RI = Rogger()
static

Definition at line 423 of file rogger.py.

◆ success

str rotary_logger.rogger.Rogger.success = "SUCCESS"

Definition at line 78 of file rogger.py.

◆ toggles

LogToggle rotary_logger.rogger.Rogger.toggles
Initial value:
= self._create_log_toggle(
program_log,
program_debug_log,
suppress_program_warning_logs,
suppress_program_error_logs
)

Definition at line 70 of file rogger.py.

◆ warning

str rotary_logger.rogger.Rogger.warning = "WARNING"

Definition at line 80 of file rogger.py.


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