intro
This is a quick one about how to configure Python’s build in logging system using an ini file.
Our application needs to import logging and logging.config to be able to use ini files.
import logging, logging.config
# set up logging
logging.config.fileConfig("log.ini")
logger = logging.getLogger('sLogger')
# log something
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
log.ini
log.ini looks like this:
[loggers]
keys=root,sLogger
[handlers]
keys=consoleHandler,fileHandler
[formatters]
keys=fileFormatter,consoleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[logger_sLogger]
level=DEBUG
handlers=consoleHandler,fileHandler
qualname=sLogger
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=WARNING
formatter=consoleFormatter
args=(sys.stdout,)
[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=fileFormatter
args=('logfile.log',)
[formatter_fileFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
[formatter_consoleFormatter]
format=%(levelname)s - %(message)s
datefmt=
output
This config will write warning or above out to stdout, whilst writing everything to a logfile. e.g.
$ python app.py
WARNING - warn message
ERROR - error message
CRITICAL - critical message
And in the logfile:
$ cat logfile.log
2015-11-18 15:23:39,071 - sLogger - DEBUG - debug message
2015-11-18 15:23:39,071 - sLogger - INFO - info message
2015-11-18 15:23:39,071 - sLogger - WARNING - warn message
2015-11-18 15:23:39,071 - sLogger - ERROR - error message
2015-11-18 15:23:39,071 - sLogger - CRITICAL - critical message
quatation
'C Lang > Python Basic' 카테고리의 다른 글
[Python] 가상환경 pyenv windows 윈도우 설치 사용법 (0) | 2023.06.02 |
---|---|
파이썬 destructuring (0) | 2021.08.01 |
Python으로 logging 배우기: 로그레벨 설정, 로그 포매팅, 로그 파일출력, 로그 ini파일, log config 파일 (0) | 2021.02.23 |
*args **kwargs 란, *args **kwargs이 위치하는 순서 (0) | 2019.11.21 |
데코레이터 사용하기5 - 클래스로 매개변수와 반환값을 처리하는 데코레이터 만들기, 클래스로 매개변수가 있는 데코레이터 만들기 (0) | 2019.11.06 |