은 다음과 같습니다 코드 라인의 수천이있다 : 나는 모든 라인을 변경하지 않으재정의 로깅 루트 로거
logging.info("bla-bla-bla")
,하지만 난 로그 동작을 변경합니다. 내 생각은 INI 파일로 구성되어 다른 Experimental
로거에 루트 로거를 변화 :
[loggers]
keys = Experimental
[formatter_detailed]
format = %(asctime)s:%(name)s:%(levelname)s %(module)s:%(lineno)d: %(message)s
[handler_logfile]
class = FileHandler
args = ('experimental.log', 'a')
formatter = detailed
[logger_Experimental]
level = DEBUG
qualname = Experimental
handlers = logfile
propagate = 0
:
logging.config.fileConfig(path_to_logger_config)
logging.root = logging.getLogger('Experimental')
가의 재정의 루트 로거는 안전합니까? 어쩌면 더 편리한 방법이 있을까요?
Google을 사용해 보았고 stackoverflow 질문을 검토했지만 대답을 찾지 못했습니다.
먼저. 이게 효과가 있었나요? 실제 문제가 있습니까? 둘째. "보다 편리하게"정의하십시오. 두 줄의 코드가 매우 편리합니다. 얼마나 더 편리할까요? –
그것은 작동합니다! 그러나 나는 이것이 해킹처럼 보인다고 생각합니다. "보다 편리하게"는 "로깅 모듈의 표준 기능 사용"을 의미합니다. 죄송합니다. –
좋은 사람! 서식 설정이 멋지다. –