2021-korea-covid-19-remaining-vaccine-macro icon indicating copy to clipboard operation
2021-korea-covid-19-remaining-vaccine-macro copied to clipboard

로거 및 환경변수 항목 추가

Open wrinos opened this issue 3 years ago • 12 comments

comit SHA cb44c87 베이스로 수정해봤습니다.

  1. 로거사용
  • print사용 대신 logging을 이용한 사용으로 변경
  • 프로그램이 꺼지더라도 로그 내용 보고 파악 가능 및 문제 발생 시 파악하기 위함
  1. 환경변수 추가
  • 환경변수 처리 추가
  • Search_Term (검색 주기)
  • log_level (로깅레벨)

config.ini 파일에 추가 기재되어야 할 key value pair [PROGRAM] log_level = logging.INFO search_term = 0.35

wrinos avatar Jul 28 '21 08:07 wrinos

혹시 logging import한게 따로 pip를 통해 install을 해 주어야 하는 부분일까요?

SJang1 avatar Jul 28 '21 09:07 SJang1

혹시 logging import한게 따로 pip를 통해 install을 해 주어야 하는 부분일까요? 제가 알기로는 logger는 파이썬 3.9 기본 모듈로 알고 있습니다. https://docs.python.org/3/howto/logging.html

wrinos avatar Jul 28 '21 09:07 wrinos

Traceback (most recent call last):
  File "vaccine-run-kakao.py", line 345, in <module>
  File "vaccine-run-kakao.py", line 331, in main_function
  File "vaccine-run-kakao.py", line 49, in load_config
  File "configparser.py", line 963, in __getitem__
KeyError: 'PROGRAM'
[35121] Failed to execute script 'vaccine-run-kakao' due to unhandled exception!

SJang1 avatar Jul 28 '21 09:07 SJang1

이미 있는 컨피그에서 저 키가 없어서 발생한 듯 합니다. (취소 (수정 가능하면 좋긴 하겠습니다)

카카오 백신 API가 다시 살아난 후 테스트해보겠습니다.

SJang1 avatar Jul 28 '21 09:07 SJang1

logger.info 부분 떠야하는데 안뜨네요. MacOS 12 / M1 스크린샷 2021-07-28 오후 6 49 08

이상태로 작동한다면 머지 불가능할 것으로 보입니다.

SJang1 avatar Jul 28 '21 09:07 SJang1

Traceback (most recent call last):
  File "vaccine-run-kakao.py", line 345, in <module>
  File "vaccine-run-kakao.py", line 331, in main_function
  File "vaccine-run-kakao.py", line 49, in load_config
  File "configparser.py", line 963, in __getitem__
KeyError: 'PROGRAM'
[35121] Failed to execute script 'vaccine-run-kakao' due to unhandled exception!

config.ini에 추가한 환경변수를 기본생성 하도록 추가 수정 했습니다.

https://github.com/SJang1/korea-covid-19-remaining-vaccine-macro/pull/453#issuecomment-888172642 제가 windows에서만 동작 확인 한 것이라, 맥에서 수정 후에도 안찍히는 확인부탁드립니다

wrinos avatar Jul 28 '21 10:07 wrinos

스크린샷 2021-07-28 오후 7 44 10 이제는 너무 보기가 어려워지네요.. 흐음.. 이를 어째야할지..

SJang1 avatar Jul 28 '21 10:07 SJang1

logFormatter에서 <%(filename)s:%(lineno)s>를 지우던가 라인 넘버 정도만 남기는게 좋을듯 합니다.

MPThLee avatar Jul 28 '21 10:07 MPThLee

스크린샷 2021-07-28 오후 7 44 10

이제는 너무 보기가 어려워지네요.. 흐음.. 이를 어째야할지..

Logging 모듈 한번도 안쓰셨었어나요? 로거의 포맷터 쪽에 로그 포맷 양식을 바꿀수 있습니다. logFormatter = logging.Formatter('[%(asctime)s] %(message)s') 포맷터 이런 양식으로 고치면 날짜 시간이랑 메세지만 딱 보일꺼에요

wrinos avatar Jul 28 '21 10:07 wrinos

로거의 포맷터 쪽에 로그 포맷 양식을 바꿀수 있습니다. logFormatter = logging.Formatter('[%(asctime)s] %(message)s')

네 아무래도 쓸 일이 없었다보니.. 그리고 End-User 입장에선 아무것도 설정하기 힘들어할지라 미리 준비 다해놓긴 해야해요

SJang1 avatar Jul 28 '21 10:07 SJang1

정책을 어찌 가져가야 할지 고민을 해야겠지만 Log 파일은 개발자 친화적으로 해서 지금처럼 세부 정보가 나오게 포맷을 지정하고 console 스트림쪽의 기록은 말씀하신것처러 간단히만 표시되게끔 포맷을 지정해 두개가 다르게 기록되게 할지

둘 다 사용자 친화적으로 단순히 표기 할지 고민은 필요해 보이네요

wrinos avatar Jul 28 '21 10:07 wrinos

스크린샷 2021-07-28 오후 7 44 10 이제는 너무 보기가 어려워지네요.. 흐음.. 이를 어째야할지..

Logging 모듈 한번도 안쓰셨었어나요? 로거의 포맷터 쪽에 로그 포맷 양식을 바꿀수 있습니다. logFormatter = logging.Formatter('[%(asctime)s] %(message)s') 포맷터 이런 양식으로 고치면 날짜 시간이랑 메세지만 딱 보일꺼에요

개인적으로 이 부분까지 logger로 바꾸는 것에 의문이 좀 있는데요~ 어디까지 log로 볼 건지, 사용자와 인터랙션하는 부분까지 log로 볼 건지? 에 대해 컨센서스를 맞추면 좋을 것 같습니다.

예를 들어 이 프로그램이 UI를 가지게 된다면 현재 텍스트로 출력하는 부분 중에 UI 인터랙션으로 전환될 부분과, 여전히 logger를 쓰는 부분으로 나눠질 것 같은데요. 저는 그 기준으로 logger를 쓰는 게 나을 것 같아서요. 사용자 input을 받는 게 info성 로그인지도 의문이 들구요.

만약 인터랙션까지 로그로 기록할 필요가 있다면 인터랙션 출력 자체가 아닌 별도 로그로 가공해서 뽑는 게 맞는 것 같아 보입니다~

newskys avatar Jul 29 '21 00:07 newskys