Coverage for C:\src\imod-python\imod\logging\__init__.py: 100%
6 statements
« prev ^ index » next coverage.py v7.5.1, created at 2024-05-08 14:15 +0200
« prev ^ index » next coverage.py v7.5.1, created at 2024-05-08 14:15 +0200
1"""
2Package used for providing logging support to imod-pyton.
4Examples
5--------
7If you want to directly use the logger in your project and make use of the default handlers
9>>> #Setup imod python logging using the python logging framework
10>>> import imod
11>>> from imod.logging import LoggerType
12>>>
13>>> imod.logging.configure(LoggerType.LOGURU)
15>>> # Setup imod python logging using the python logging framework and write the log output to a file
16>>> import imod
17>>> from imod.logging import LoggerType
18>>>
19>>> imod.logging.configure(LoggerType.PYTHON, add_default_file_handler=True)
21If you want to integrate imod-python logging into your own logging framework
23>>> # Setup imod python logging integration into an existing python logger
24>>> import imod
25>>> from imod.logging import LoggerType, LogLevel
26>>> import logging
27>>>
28>>> imod.logging.configure(LoggerType.PYTHON, LogLevel.INFO, add_default_stream_handler=False, add_default_file_handler=False)
29>>>
30>>> logging.basicConfig(
31>>> level=logging.INFO,
32>>> format="%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s | %(process)d >>> %(message)s",
33>>> handlers=[
34>>> logging.StreamHandler(),
35>>> logging.FileHandler("imod-python.log")
36>>> ]
37>>> )
38>>>
39>>> logger = logging.getLogger()
40>>> logger.info('info message')
42>>> # Setup imod python logging integration into an existing loguru logger
43>>> import sys
44>>> import imod
45>>> from imod.logging import LoggerType, LogLevel
46>>> from loguru import logger
47>>>
48>>> imod.logging.configure(LoggerType.LOGURU, LogLevel.INFO, add_default_stream_handler=False, add_default_file_handler=False)
49>>>
50>>> config = {
51>>> "handlers": [
52>>> {"sink": sys.stdout},
53>>> {"sink": "imod-python.log"},
54>>> ],
55>>> }
56>>> logger.configure(**config)
57>>> logger.info('info message')
59"""
61from imod.logging._loggerholder import _LoggerHolder
62from imod.logging.config import LoggerType, configure
63from imod.logging.ilogger import ILogger # noqa: I001
64from imod.logging.logging_decorators import init_log_decorator, standard_log_decorator
65from imod.logging.loglevel import LogLevel
67logger = _LoggerHolder()