[typescript] 열거형(Enum)을 이용한 로그 레벨 설정하기

소프트웨어 애플리케이션의 로깅은 유용한 기능 중 하나입니다. 로그 레벨은 어플리케이션에서 발생하는 로그 메시지를 분류하고 필터링하기 위해 사용됩니다. TypeScript에서 열거형(Enum)을 사용하여 로그 레벨을 정의하고 설정하는 방법에 대해 알아보겠습니다.

열거형(Enum) 정의하기

먼저, 다양한 로그 레벨을 정의하기 위해 Enum을 사용합니다. 아래는 로그 레벨을 나타내는 Enum의 예시입니다.

enum LogLevel {
  Error = 1,
  Warning,
  Info,
  Debug
}

위의 코드에서, LogLevel 열거형은 순차적으로 증가하는 값을 갖도록 정의되어 있습니다. Error는 1, Warning은 2, Info는 3, 그리고 Debug는 4의 값을 갖게 됩니다.

로그 레벨 설정하기

이제 정의한 로그 레벨을 사용하여 실제로 로그를 출력하는 코드에서 설정할 수 있습니다. 아래 예시는 해당 내용을 보여줍니다.

function logMessage(message: string, logLevel: LogLevel): void {
  if (logLevel === LogLevel.Error) {
    console.error(message);
  } else if (logLevel === LogLevel.Warning) {
    console.warn(message);
  } else if (logLevel === LogLevel.Info) {
    console.info(message);
  } else if (logLevel === LogLevel.Debug) {
    console.debug(message);
  }
}

logMessage('An error occurred', LogLevel.Error);
logMessage('Warning: Potential issue', LogLevel.Warning);
logMessage('Info: System is up and running', LogLevel.Info);
logMessage('Debug: Detailed debugging information', LogLevel.Debug);

위의 코드에서는 logMessage 함수를 통해 로그 메시지와 함께 해당하는 로그 레벨을 전달하여, 각각에 맞게 로그를 출력할 수 있습니다.

이러한 방식으로 TypeScript의 열거형을 사용하여 로그 레벨을 쉽게 정의하고 설정할 수 있습니다. 이를 통해 코드 가독성을 높이고 유지보수를 용이하게 할 수 있습니다.

열거형(Enum)을 사용하여 로그 레벨을 정의하고 설정함으로써, 나중에 새로운 로그 레벨을 추가하거나 기존의 레벨을 변경하더라도 코드 전반에 수정을 가할 필요가 없어지며, 일관된 로깅 기능을 유지할 수 있습니다.