Log 設定¶
Log 初期化設定¶
FTLoggerConfig *loggerConfig = [[FTLoggerConfig alloc] init];
loggerConfig.enableCustomLog = YES;
loggerConfig.printCustomLogToConsole = YES;
loggerConfig.enableLinkRumData = YES;
loggerConfig.logLevelFilter = @[@(FTStatusError), @(FTStatusCritical)];
loggerConfig.discardType = FTDiscardOldest;
[[FTSDKAgent sharedInstance] startLoggerWithConfigOptions:loggerConfig];
let loggerConfig = FTLoggerConfig()
loggerConfig.enableCustomLog = true
loggerConfig.enableLinkRumData = true
loggerConfig.printCustomLogToConsole = true
loggerConfig.logLevelFilter = [NSNumber(value: FTLogStatus.statusError.rawValue), NSNumber(value: FTLogStatus.statusCritical.rawValue)]
loggerConfig.discardType = .discardOldest
FTSDKAgent.sharedInstance().startLogger(withConfigOptions: loggerConfig)
| プロパティ | 型 | 必須 | 説明 |
|---|---|---|---|
sampleRate |
int |
いいえ | サンプリングレート。範囲 [0,100]、0 は収集しない、100 は全件収集、デフォルト値 100 |
enableCustomLog |
BOOL |
いいえ | カスタム Log をアップロードするかどうか、デフォルト NO |
logLevelFilter |
NSArray |
いいえ | 収集するカスタム Log のステータス配列を設定、デフォルトは全件収集 |
enableLinkRumData |
BOOL |
いいえ | RUM データと関連付けるかどうか、デフォルト NO |
discardType |
FTLogCacheDiscard |
いいえ | ログが上限に達した後の破棄ルールを設定、デフォルト FTDiscard |
printCustomLogToConsole |
BOOL |
いいえ | カスタムログをコンソールに出力するかどうか、デフォルト NO |
globalContext |
NSDictionary |
いいえ | Log のカスタムタグを追加、追加ルールは カスタムタグの使用 を参照 |
Logger ログ出力¶
現在、ログ内容は 30 KB に制限されており、文字数を超える部分は切り捨てられます。
使用方法¶
/// info タイプのカスタムログを追加
-(void)info:(NSString *)content property:(nullable NSDictionary *)property;
/// warning タイプのカスタムログを追加
-(void)warning:(NSString *)content property:(nullable NSDictionary *)property;
/// error タイプのカスタムログを追加
-(void)error:(NSString *)content property:(nullable NSDictionary *)property;
/// critical タイプのカスタムログを追加
-(void)critical:(NSString *)content property:(nullable NSDictionary *)property;
/// ok タイプのカスタムログを追加
-(void)ok:(NSString *)content property:(nullable NSDictionary *)property;
open class FTLogger : NSObject, FTLoggerProtocol {}
public protocol FTLoggerProtocol : NSObjectProtocol {
optional func info(_ content: String, property: [AnyHashable : Any]?)
optional func warning(_ content: String, property: [AnyHashable : Any]?)
optional func error(_ content: String, property: [AnyHashable : Any]?)
optional func critical(_ content: String, property: [AnyHashable : Any]?)
optional func ok(_ content: String, property: [AnyHashable : Any]?)
}
ログレベル¶
コード例¶
// 方法1:FTSDKAgent 経由
// 注意:使用時には SDK が初期化済みであることを確認する必要があります。そうでない場合、テスト環境でアサーションに失敗してクラッシュします。
[[FTSDKAgent sharedInstance] logging:@"test_custom" status:FTStatusInfo];
// 方法2:FTLogger 経由(推奨)
// SDK が初期化されていない場合、FTLogger のメソッドを呼び出してカスタムログを追加しても失敗しますが、アサーション失敗によるクラッシュは発生しません。
[[FTLogger sharedInstance] info:@"test" property:@{@"custom_key":@"custom_value"}];
カスタムログをコンソールに出力¶
printCustomLogToConsole = YES を設定すると、カスタムログをコンソールに出力できるようになり、Xcode のデバッグコンソールに以下の形式のログが表示されます:
2023-06-29 13:47:56.960021+0800 App[64731:44595791]:os_logログ出力の標準プレフィックス[MACOS APP]:SDK が出力するカスタムログを区別するためのプレフィックス[INFO]:カスタムログのレベルcontent:カスタムログの内容{K=V,...,Kn=Vn}:カスタム属性