Archieve/Python(3)
-
게으른 로깅
로깅은 프로그래밍에서 가장 중요한 것 중 하나입니다. 기록을 하는 것은 비단 프로그래밍 뿐 아니라 다른 작업에서도 중요하지만 휘발성으로 계속해서 새로운 작업이 발생하는 프로그래밍에선 그 의미가 더욱 남다릅니다. 해당 글에서는 파이썬에 로그를 기록하는 방법을 간단히 소개하며 파이썬을 사용한다면 일상적으로 쉽게 구현할 수 있는 게으른 로깅 (Lazy logging)이라는 모범 사례를 소개합니다. 파이썬 로깅 본격적으로 게으른 로깅을 설명하기 앞서 간단하게 파이썬에서의 로깅을 이해해보겠습니다. 하단의 코드는 로깅을 수행하는 가장 간단한 코드입니다. warning이라는 로그 레벨과 함께 함께 출력될 메세지를 전달하고 있습니다. >>> import logging >>> logging.warning("Hello l..
2023.07.29 -
[pytest] @pytest.fixture
import pytest import tensorflow as tf from PIL import Image import utils @pytest.fixture def pil_image(): return Image.new('RGB', (32, 32), color='red') def test_convert_pil_to_tensor(pil_image): tensor = utils.convert_pil_to_tensor(pil_image) assert tensor.shape == (32, 32, 3) assert tensor.dtype == tf.float32@pytest.fixture의 역할 Dummy 테스트 환경을 구성 위의 예시에서는 PIL.Image 객체를 생성하여 test_..
2023.05.02 -
logging 사용법과 관련 이슈
기본적인 사용방법 해당 글에서는 python의 logging 기본적인 사용방법을 다룬다. 관련해서 마주할 수 있는 에러 상황이나, 좀 더 다양한 상황을 다룰 수 있는 logging 사용방법을 기술해 보았다. 추가적으로 해당 글에서는 특정 메시지를 어떤 레벨로 로깅해야 하는지와 같은 철학은 다루지 않음을 감안해 주시면 좋겠다. 짧은 글이기에 바로 본론으로 들어가보자. 코드는 짧고 간결하다. import logging logging.basicConfig(filename='../logs/crawl.log', format='%(asctime)s %(levelname)s %(message)s') logging.getLogger().setLevel(logging.INFO) # Optional logging.info..
2023.03.27