Coverage for C:\src\imod-python\imod\logging\__init__.py: 100%

6 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-04-08 10:26 +0200

1""" 

2Package used for providing logging support to imod-pyton. 

3 

4Examples 

5-------- 

6 

7If you want to directly use the logger in your project and make use of the default handlers 

8 

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) 

14 

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) 

20 

21If you want to integrate imod-python logging into your own logging framework 

22 

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') 

41 

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') 

58 

59""" 

60 

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 

66 

67logger = _LoggerHolder()