Python Logging Formatter: print the logger name
Question:
How can I change the logger format in order to print the logger name?
Desired output:
>>> import logging
>>> logger = logging.getLogger('AI Service')
>>> logger.setLevel(logging.DEBUG)
>>> logging.basicConfig(format='[%(levelname)s] %(???)s - %(message)s')
>>> logger.info("Starting service")
[INFO] AI Service - Starting service
Is this possible? I can’t find a ‘formatter’ option to do so.
Answers:
The answer is just a google away: %(name)s
.
You need to provide logging format to support it. In your case, you can define something like below
logging.basicConfig(format='%(asctime)s:t%(name)s:t%(levelname)s:t%(message)s')
This will show the time, module name, log level and message.
How can I change the logger format in order to print the logger name?
Desired output:
>>> import logging
>>> logger = logging.getLogger('AI Service')
>>> logger.setLevel(logging.DEBUG)
>>> logging.basicConfig(format='[%(levelname)s] %(???)s - %(message)s')
>>> logger.info("Starting service")
[INFO] AI Service - Starting service
Is this possible? I can’t find a ‘formatter’ option to do so.
The answer is just a google away: %(name)s
.
You need to provide logging format to support it. In your case, you can define something like below
logging.basicConfig(format='%(asctime)s:t%(name)s:t%(levelname)s:t%(message)s')
This will show the time, module name, log level and message.