반응형
내 파이썬 프로젝트에 로그인을 구현하는 동안 몇 가지 문제가있는 것 같습니다.
단순히 다음 구성을 모방하려고합니다.
그러나 코드 내부에서이 작업을 수행하는 대신 구성 파일에 포함하고 싶습니다.
아래는 내 구성 파일입니다.
[loggers]
keys=root
[logger_root]
handlers=screen,file
[formatters]
keys=simple,complex
[formatter_simple]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
[formatter_complex]
format=%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(lineno)d - %(message)s
[handlers]
keys=file,screen
[handler_file]
class=handlers.TimedRotatingFileHandler
interval=midnight
backupCount=5
formatter=complex
level=DEBUG
args=('logs/testSuite.log',)
[handler_screen]
class=StreamHandler
formatter=simple
level=INFO
args=(sys.stdout,)
문제는 화면 출력이 다음과 같다는 것입니다.
2010-12-14 11:39:04,066 - root - WARNING - 3
2010-12-14 11:39:04,066 - root - ERROR - 4
2010-12-14 11 : 39 : 04,066-루트-위험-5
내 파일이 출력되지만 위와 동일하게 보입니다 (추가 정보가 포함되어 있음). 그러나 디버그 및 정보 수준은 어느 쪽에도 출력되지 않습니다.
저는 Python 2.7에 있습니다.
다음은 실패를 보여주는 간단한 예입니다.
import os
import sys
import logging
import logging.config
sys.path.append(os.path.realpath("shared/"))
sys.path.append(os.path.realpath("tests/"))
class Main(object):
@staticmethod
def main():
logging.config.fileConfig("logging.conf")
logging.debug("1")
logging.info("2")
logging.warn("3")
logging.error("4")
logging.critical("5")
if __name__ == "__main__":
Main.main()
해결 방법
핸들러에 대한 레벨을 설정했지만 로거는 설정하지 않은 것 같습니다. 로거의 수준은 처리기에 도달하기 전에 모든 메시지를 필터링하며 기본값은 WARNING
이상입니다 (보시다시피). 루트 로거의 수준을 NOTSET
로 설정하고 DEBUG
(또는 기록하려는 가장 낮은 수준)로 설정하면 문제가 해결됩니다.
참조 페이지 https://stackoverflow.com/questions/4441842
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python에서 명시 적 루프없이 사용자 지정 형식으로 목록을 인쇄하는 우아한 방법이 있습니까? (0) | 2020.10.19 |
---|---|
파이썬 Flask가 콘솔에 인쇄되지 않습니다. (0) | 2020.10.19 |
파이썬 `append ()`목록에 많은 RAM이 남아있는 Python`Memory Error` 이유 (0) | 2020.10.19 |
파이썬 Python : 특정 버전 2.4.9로 opencv2를 pip 설치하는 방법은 무엇입니까? (0) | 2020.10.19 |
파이썬 Python에서 확장자없이 파일 이름 가져 오기 (0) | 2020.10.19 |
댓글