PlanetKitの初期化およびログ設定
アプリケーションでLINE Planetの機能を使用する前にPlanetKitを初期化する必要があります。ここでは、PlanetKitを初期化し、ログを設定するサンプルコードを提供します。
初期化
PlanetKitInitialSettingBuilderオブジェクトを引数としてPlanetKitManagerのinitialize()を呼び出し、PlanetKitを初期化します。このとき、必ずplanet_base_urlを設定する必要があります。
環境別の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クラスで柔軟なログ設定のためのメソッドを提供します。
- デフォルトの設定は、無効になっています。
- PlanetKit 5.1からログはファイルでのみ出力できます。
ログレベル
ログレベルを設定して、デバッグ情報の出力レベルを調整できます。PlanetKitLogLevel enumで提供するログレベル設定は、次のとおりです。
simple:PlanetKitが簡単なデバッグ情報を出力します。detailed:PlanetKitが詳細なデバッグ情報を出力します。
LINE Planetチームにデバッグを依頼する際には、detailedレベルで生成されたログファイルを共有してください。
サイズ制限付きのロギング設定
サイズ制限に達したときに自動ローテーションされるロギングを設定するには、withSizeLimit(logDirectory:logLevel:logSizeLimit:)メソッドを使用します。
- ログファイル名
- ログファイルは、内部ロジックに従ってローテーションが適用されて生成されます(例:
planetkit.log、planetkit.log.1、planetkit.log.2)。
- ログファイルは、内部ロジックに従ってローテーションが適用されて生成されます(例:
- ログレベル
logLevelパラメーターのデフォルト値は、simpleです。
- ログサイズの制限
PlanetKitLogSizeLimitenumで提供するログサイズ制限の設定は、次のとおりです。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)