
312
로깅 기능을 위한 코드를 구성하면서 1부에서 제시된 패턴을 단계적으로 적용
하여 문제를 차례로 해결하였다. 처음에는 파일을 구성하는 방법이나 오류 처
리에 대처하는 방법에 대해 많은 질문이 있었지만, 패턴이 길을 보여주었다.
지침을 제공하고 이 코드를 더 쉽게 구성할 수 있도록 했다. 또한 코드가 왜 그
렇게 보이고 왜 그렇게 동작하는지도 이해할 수 있었다. 그림 10.2는 의사 결
정에 도움이 된 패턴들의 개요를 보여준다.
물론 코드에 잠재적으로 기능을 개선할 만한 부분은 여전히 많이 있다. 예를
들어, 이 코드는 최대 파일 크기나 로그 파일 순환(logfile rotation)을 처리하지
않으며, 아주 자세한 로깅은 건너뛰는 로그 수준 구성을 지원하지 않는다. 코
드를 간단하게 하고 이해하기 쉽게 하기 위해 이러한 기능은 다루지 않지만 코
드 예제에 추가할 수 있다.
다음 장에서는 패턴을 적용하여 또 다른 강력한 코드를 구축하는 방법에 대
한 다른 이야기를 살펴볼 것이다.