1 - 단일 로그를 표준화 된 형식으로 만듭니다. 그것이 무엇인지는 중요하지 않지만, 엔트리에는 동일한 기본 필드가 있는지 확인하십시오. 그냥 "printf"라고 쓰면 아마 자르지 않을 것입니다. (System.err.println 또는 다른 것으로 대체하십시오)
2 - 적어도 하나의 필드가 임의의 문자열이 될 수 있습니다 ... 개발자가 당신을 잘 알 것입니다. 무엇이 거기에 있어야합니다.
3 - 각 항목에 고해상도 타임 스탬프를 포함하십시오. 너는 결국 그것을 필요로 할 것이다. 나를 믿어 라.
4 - 가능한 경우 오류의 원본 파일과 줄 번호를 포함하십시오. 그것은 C에서 쉽고, Java에서 약간의 고통입니다. 하지만 나중에 이라는 메시지가 매우 유용합니다. 특히 사람들이 오류 메시지를 포함하여 코드를 잘라내 기 시작할 때 유용합니다.
5 - 로그의 코드 수준에서 사용할 수 있는지 확인하십시오.
6 - "기본"은 "문제가 있음을 감지 한 사람"을 의미하는 "기본"및 "보조"오류 태그를 자주 사용했습니다. "보조"는 "함수를 호출했습니다. "오류를보고했다. 따라서 문제의 원인 ("주 : 파일을 찾을 수 없음")을 쉽게 찾고 오류의 의미를보고 할 수 있습니다 ("2 차 : 보정 표를로드 할 수 없음").
7 - 오류가 아닌 오류도 기록 할 수있는 기능을 포함합니다.
가장 어려운 부분은 오류가 반드시 오류는 아닙니다. 파일로 함수를 호출하고 그 파일이 존재하지 않는다면, 그 오류는 기록되어야 하는가 그렇지 않은가? 때때로 그것은 중대한 실패이며 때로는 예상됩니다. 그것은 함수의 API에 달려 있습니다. 함수에 오류를 반환하는 방법이있는 경우 일반적으로 로깅없이 오류를 반환합니다. 오류를보고해야하는지 또는 예상되는지를 결정하는 것이 상위 수준 코드의 작업입니다.