로그를 잘 남기기

Sep 28, 2017

보통의 웹 어플리케이션, 사이트 등을 만들 때 순수한 개발 외적으로 신경 써야 할 부분 중 여러 가지가 있는데 그 중에 하나가 로그이다. 잘 돌아가는 사이트들도 서버에 들어가서 로그를 남기는 형태나 로그파일을 보면 얼마나 신경을 썼는지를 알 수 있다. 이건 마치 그림의 뒷면이나, 자동차 하부를 보는것과 같다.

로그를 남기는 것은 매우 중요하다. 뭔가 문제가 생겼을 때 로그는 거의 유일한 단서가 되기도 하고 부서나 파트 별로 문제를 찾아야 할 때 설령 내 쪽 문제가 아니더라도 로그로 그것을 증명할 수 없다면, 사실상 쪽팔리게 된다.(보다 적절한 단어를 찾지는 못하겠다.)

로그를 남길 때 몇가지 주의사항이 있는데 다음과 같다.

날짜/시간을 반드시 남길 것

단서를 남길것

데이터가 변하는 시점에 남길 것

로그남기는 행위 자체에서의 에러 조심

너무 많은 로그를 남기 는것은 디스크 용량에 문제를 줄수도 있지만, 개인적인 생각에는 서비스 초반에는 많은 로그를 남기고 레벨을 조정하면서 남겨지는 로그를 줄여나가는 것이 바람직하다고 생각한다. 그리고 로그를 남길때 파일이 어떤 식으로 생성되는지도 생각해봐야 한다. 예를들면, api.log 이런식으로 파일하나로 생성해서 두기 보다는 일별 로그 형태로 남겨지는 것이 좋고 그게 안된다면 일별로 분할해두는것이 좋다. 이는 당연히 찾을때의 편의를 위함이다.

개인적으로 로그를 찾아서 뭔가를 확인해달라는 요청을 자주 받는데 로그를 빨리 찾을 수 있는 자신만의 툴을 만드는 것도 중요하다고 생각한다. 이런 요청이 자주 있고, 생각보다 많은 시간을 차지 한다면 좀더 자동화된 방식으로 로그를 추출하고 볼 수 있는 스크립트 같은것을 만드는 것을 추천한다.


#dev  #essay  #log