logseg¶
Submodules¶
Attributes¶
Classes¶
This class manages the logger thread. |
Functions¶
|
This function initializes a logger as well as a thread to process logs produced by concurrent processes. Logs |
|
This function gets a logger instance. |
Package Contents¶
- logseg.logger_init(config_file: pathlib.Path | str = None) LoggerManager¶
This function initializes a logger as well as a thread to process logs produced by concurrent processes. Logs from concurrent processes should be passed through the multiprocessing queue stored in log.globals.logger_queue.
- Parameters:
config_file – A path to a configuration file containing a LOGSEG section. If not provided, the default
file. (configuration will be used. See the documentation for an example configuration)
- Returns:
A LoggerManager instance which can be used to terminate the logger thread at cleanup time.
- logseg.get_logger(name: str, queue: multiprocessing.queues.Queue | None = None) logging.Logger¶
This function gets a logger instance.
Setup
from logseg import LoggerManager from logseg import logger_init logger_manager: LoggerManager = logger_init()
Without multiprocessing
from logseg import get_logger logger = get_logger(__name__) logger.info('your message')
With multiprocessing
import multiprocessing as mp import log.globals def my_function(queue: mp.Queue, parameter: str): logger = get_logger(__name__, queue) logger.info(f'Your message: {parameter}') pool = mp.Pool(processes=mp.cpu_count()) pool.imap_unordered(func=partial( my_function, queue=log.globals.logger_queue, parameter='example' )) pool.close() pool.join()
Shutdown
logger_manager.terminate_logger()
- Parameters:
name – The name for the logger.
queue – A Queue instance generated by logger_init(), held in the variable log.globals.logger_queue
- Returns:
A logseg logger instance.
- class logseg.LoggerManager(logger_thread: threading.Thread)¶
This class manages the logger thread.
- Parameters:
logger_thread – The logger thread to manage.
Returns:
- logger_thread¶
- terminate_logger()¶
This method terminates the logger thread. It should be called when log is complete during program cleanup.
Returns:
- logseg.__version__ = '0.3.1'¶