본문으로 건너뛰기
Version: 7.1

PlanetKit 초기화 및 로그 설정

애플리케이션에서 LINE Planet의 기능을 사용하기 전에 PlanetKit을 초기화해야 합니다. 여기서는 PlanetKit을 초기화하고 로그를 설정하는 예제 코드를 제공합니다.

초기화​

PlanetKitInitialSettingBuilder 객체를 인자로 PlanetKitManager의 initialize()를 호출해 PlanetKit을 초기화하세요. 이때 반드시 planet_base_url을 설정해야 합니다.

Note

환경별 planet_base_url 정보는 개발 환경에서 찾을 수 있습니다.

class YourApplication {
func initializePlanetKit() {
let logDirectory = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask).first!
.appendingPathComponent("PlanetKitLogs")
try! FileManager.default.createDirectory(at: logDirectory, withIntermediateDirectories: true)

let logOption = PlanetKitLogOption.withSizeLimit(
logDirectory: logDirectory.path,
logLevel: .simple,
logSizeLimit: .small
)

let settingBuilder = PlanetKitInitialSettingBuilder()
.withEnableLog(logOption: logOption!)
.withSetKitServerKey(serverUrl: planet_base_url)
let initialSettings = settingBuilder.build()
PlanetKitManager.shared.initialize(initialSettings: initialSettings)
...
}
}

로그 설정​

디버깅이 필요한 경우 초기화 중에 PlanetKitInitialSettingBuilder 클래스의 withEnableLog(logOption:) 메서드를 사용하여 로깅을 설정해야 합니다. PlanetKit은 PlanetKitLogOption 클래스에서 유연한 로그 설정을 위한 메서드를 제공합니다.

Note
  • 기본적으로 로깅은 비활성화되어 있습니다.
  • PlanetKit 5.1부터 로그는 파일로만 출력할 수 있습니다.

로그 수준​

로그 수준을 설정하여 출력되는 디버그 정보의 수준을 조정할 수 있습니다. PlanetKitLogLevel enum에서 제공하는 로그 레벨 설정은 다음과 같습니다:

  • simple: PlanetKit이 간단한 디버그 정보를 출력합니다.
  • detailed: PlanetKit이 자세한 디버그 정보를 출력합니다.
Note

LINE Planet 팀에 디버깅을 요청하려면 detailed 수준으로 생성된 로그 파일을 전달해 주어야 합니다.

크기 제한이 있는 로깅 설정​

크기 제한에 도달하면 자동 로테이션되는 로깅을 설정하려면 withSizeLimit(logDirectory:logLevel:logSizeLimit:) 메서드를 사용하세요.

  • 로그 파일 이름
    • 로그 파일은 내부 로직에 따라 로테이션이 적용되어 생성됩니다(예: planetkit.log, planetkit.log.1, planetkit.log.2).
  • 로그 레벨
    • logLevel 파라미터의 기본값은 simple입니다.
  • 로그 크기 제한
    • PlanetKitLogSizeLimit enum에서 제공하는 로그 크기 제한 설정은 다음과 같습니다.
      • small: 전체 로그 파일의 크기 제한은 16MB입니다.
      • medium: 전체 로그 파일의 크기 제한은 64MB입니다.
      • large: 전체 로그 파일의 크기 제한은 256MB입니다.
    • logSizeLimit 파라미터의 기본값은 large입니다.

다음은 크기 제한이 있는 로깅을 설정하는 예제 코드입니다.

let logDirectory = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask).first!
.appendingPathComponent("PlanetKitLogs")
try! FileManager.default.createDirectory(at: logDirectory, withIntermediateDirectories: true)

let logOption = PlanetKitLogOption.withSizeLimit(
logDirectory: logDirectory.path,
logLevel: .simple,
logSizeLimit: .small
)

let settings = PlanetKitInitialSettingBuilder()
.withEnableLog(logOption: logOption!)
.withSetKitServerKey(serverUrl: planet_base_url)
.build()

PlanetKitManager.shared.initialize(initialSettings: settings)

크기 제한 없는 로깅 설정​

크기 제한 없는 로깅을 설정하려면 withSizeLimitUnlimited(logDirectory:logFileName:logLevel:) 메서드를 사용하세요.

  • 로그 파일 이름
    • 시스템이 생성하는 로그 파일의 기본 형식은 타임스탬프가 포함된 planetkitMMDD_HHMMSS.log입니다.
    • 필요에 따라 logFileName 파라미터로 사용자 지정 파일 이름을 설정할 수 있습니다.
  • 로그 레벨
    • logLevel 파라미터의 기본값은 simple입니다.

다음은 크기 제한이 없는 로깅을 설정하는 예제 코드입니다.

let logDirectory = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask).first!
.appendingPathComponent("PlanetKitLogs")
try! FileManager.default.createDirectory(at: logDirectory, withIntermediateDirectories: true)

let logOption = PlanetKitLogOption.withSizeLimitUnlimited(
logDirectory: logDirectory.path,
logFileName: "myapp.log", // Optional: specify custom file name
logLevel: .detailed
)

let settings = PlanetKitInitialSettingBuilder()
.withEnableLog(logOption: logOption!)
.withSetKitServerKey(serverUrl: planet_base_url)
.build()

PlanetKitManager.shared.initialize(initialSettings: settings)

관련 예제 코드​

관련 문서​