이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
개발자는 로그를 사용하여 애플리케이션에서 일어나는 일을 이해합니다. 로그는 디버깅, 모니터링 및 감사에 사용할 수 있습니다. 생산 문제를 해결하는 데에도 유용합니다.
로그는 런타임 시 애플리케이션에 의해 생성됩니다. 파일, 데이터베이스 또는 둘 다에 쓸 수 있습니다. 로깅 프레임워크를 사용하면 애플리케이션에 로깅을 쉽게 추가할 수 있습니다.
다양한 유형의 로그가 있습니다. 애플리케이션 로그에는 애플리케이션 자체에 대한 정보가 포함됩니다. 시스템 로그에는 운영 체제 및 하드웨어에 대한 정보가 포함되어 있습니다. 액세스 로그에는 애플리케이션에 액세스하는 사람과 이들이 수행하는 작업에 대한 정보가 포함됩니다.
디버깅은 소프트웨어의 오류를 찾아 수정하는 프로세스입니다. 로그는 런타임에 애플리케이션에서 일어나는 일에 대한 정보를 제공하여 소프트웨어를 디버그하는 데 사용할 수 있습니다.
디버깅 로그는 상세해야 합니다. 실행 중인 모든 단계에 대한 정보를 포함해야 합니다. 이 정보는 오류를 추적하는 데 사용할 수 있습니다.
모니터링은 애플리케이션의 성능을 추적하는 프로세스입니다. 로그는 사용 중인 리소스에 대한 정보를 제공하여 애플리케이션을 모니터링하는 데 사용할 수 있습니다.
모니터링 로그는 디버깅 로그보다 덜 장황해야 합니다. 사용 중인 리소스 및 사용 방법에 대한 정보를 포함해야 합니다. 이 정보는 응용 프로그램의 성능을 추적하는 데 사용할 수 있습니다.
감사는 애플리케이션의 활동을 추적하는 프로세스입니다. 로그는 수행 중인 작업에 대한 정보를 제공하여 애플리케이션을 감사하는 데 사용할 수 있습니다.
감사 로그는 모니터링 로그보다 덜 장황해야 합니다. 수행 중인 작업에 대한 정보를 포함해야 합니다. 이 정보는 애플리케이션의 활동을 추적하는 데 사용할 수 있습니다.
문제 해결은 프로덕션에서 문제를 찾아 수정하는 프로세스입니다. 로그는 런타임에 애플리케이션에서 일어나는 일에 대한 정보를 제공하여 프로덕션 문제를 해결하는 데 사용할 수 있습니다.
문제 해결 로그는 디버깅 로그보다 덜 장황해야 합니다. 사용 중인 리소스 및 사용 방법에 대한 정보를 포함해야 합니다. 이 정보는 생산 문제를 추적하는 데 사용할 수 있습니다.
로그 수준은 기록되는 정보의 양을 제어하는 데 사용됩니다. 로그의 상세도를 높이거나 낮추는 데 사용할 수 있습니다.
다음과 같은 6가지 로그 수준이 있습니다.
추적은 가장 자세한 로그 수준입니다. Fatal은 가장 상세하지 않은 로그 수준입니다.
다음은 로깅 프레임워크 log4j를 사용하여 디버그 로그를 작성하는 방법의 예입니다.
import org.apache.log4j.Logger;
public class MyClass {
private static final Logger logger = Logger.getLogger(MyClass.class);
public void myMethod() {
// log a debug message
logger.debug("This is a debug message");
}
}