logging(6)
-
tqdm) print대신에 tqdm을 이용해서 logging 방법
간혹 먼가 로깅을 하고 싶은 경우에 print를 많이 쓴다. 하지만 print를 하다 보면, 계속 남기 때문에 메모리를 차지하거나 보기에 좋지가 않다. 그래서 이런 것을 해결할 수 있는 게 보통 tqdm이고 여기서 logging과 tqdm을 접목시켜 tqdm 방법을 이용해서 logging까지 하는 것을 공유한다. tqdm logging handler 라는 것을 구현해서 사용하면 되기 때문에 공유한다. tqdm handler import logging from tqdm import tqdm class TqdmLoggingHandler(logging.StreamHandler): """Avoid tqdm progress bar interruption by logger's output to console""" ..
2021.05.15 -
[TIP] 에러 발생할 때 Logging 파일 생성 및 적재하는 코드
파이썬에서 클래스로 짜거나 함수로 짜거나 하였을 때, 중간에 에러가 발생하는 경우가 있다. 이것들을 따로 로깅을 하지 않고 주피터 노트북에서 계속 돌린다면, 실수로 노트북이 꺼졌을 때나 잘 찾을 수가 없게 된다. 그래서 이번에는 함수나 클래스에서 에러가 발생했을 때 로그를 적재하는 파일 생성 및 계속해서 적재하는 코드를 만들어 봤다. 예를 들어 아래 함수처럼 divide라는 나눗셈 함수를 만들었는데, 들어오는 데이터에 따라서 에러가 발생하는 경우가 있다. 이때 어떠한 a 와 b 였으며, 무슨 에러인지를 표현하는 것을 공유한다. @log_error("./log.txt") def divde(a,b) : return a/b 아래가 풀 코드이다. 이 함수를 통해서 로그를 생성 및 argument를 적재하여 확인..
2020.11.15 -
[ Python ] logging 결과물 폴더 생성 후 압축 파일로 저장하기
도움이 되셨다면, 광고 한번만 눌러주세요. 블로그 관리에 큰 힘이 됩니다 ^^ 파이썬에서 Logging을 하고 싶을 때가 있다. 그냥 저장하는 것은 쉽지만, 그러다 보면, 용량을 과하게 차지하니 압축을 해서 저장을 하고 싶어 진다. 그리고 이것을 언제 저장했는지 구별하고 싶어서 압축 시점 날짜 폴더를 생성 후 그 안에 압축 파일을 넣어야 했다. 기존 방식으로는 안됬기 때문에 먼가 수정이 필요했다. 그리고 정답까지는 아니겠지만, 이런 식으로 하니 문제를 해결할 수 있었다 여기서는 분 단위로 저장하게 했다. import logging import gzip, zlib import os from datetime import datetime as dt def namer(name) : return name + "...
2019.12.09 -
[ Python ] logging level name 추가 및 color 넣기
우연히 다른 거 찾다가, log에 색깔을 먹인다길래, 신기해서 해보니, 해보고 공유ㅎ log도 set level도 예전에 했던 방식보다 더 쉽게 할 수 있는 것도 있었다. import logging from colorlog import ColoredFormatter ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) formatter = ColoredFormatter( "%(log_color)s[%(asctime)s] %(message)s", datefmt=None, reset=True, log_colors={ 'DEBUG': 'cyan', 'INFO': 'white,bold', 'INFOV': 'cyan,bold', 'WARNING': 'yellow', ..
2019.09.29 -
[ Python ] custom logging level 만들기
logging level 추가하기. import logging trace = 15 class user(logging.Logger) : def trace(self , msg , *args ,**kwargs ): self.log( trace ,msg , *args ,**kwargs ) logging.setLoggerClass(user) logging.addLevelName(15 , "user") logger = logging.getLogger("test") logger.setLevel("user") ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) logger.addHandler(ch) logger.debug(" debug test") logger.trace..
2019.09.11 -
[ Python ] logging 만들어보기 (FileHandler 와 StreamHandler 위주로)
도움이 되셨다면, 광고 한번만 눌러주세요. 블로그 관리에 큰 힘이 됩니다 ^^ 파이썬에서 logging 쌓기 (FileHandler 와 StreamHandler 위주로) StreamHandler Console에 log 남기기 logging.StreamHandler() FileHandler log를 계속 쌓고 싶을 때 FileHandler('./log.txt' ,mode = "w") RotatingFileHandler 파일 용량을 정해서 log를 쌓고 제거할 때 RotatingFileHandler( filename, ## ~~.log / ~~.txt mode='a', ## a : append / w : overwrite maxBytes=0, ## 한 파일당 몇 몇가 byte까지 만들 수 있는지 backup..
2019.08.25