로그 설정¶
Log 초기화 설정¶
| 메서드명 | 유형 | 필수 | 설명 |
|---|---|---|---|
| setSamplingRate | Float | 아니요 | 수집률을 설정합니다. 범위는 [0,1]이며, 0은 수집하지 않음, 1은 전체 수집을 의미하고 기본값은 1입니다. |
| setEnableConsoleLog | Boolean | 아니요 | 콘솔 로그를 업로드할지 여부를 설정합니다. 이 설정은 ft-plugin에 의존하며 기본값은 false입니다. 로그 레벨 대응 관계는 다음과 같습니다: Log.v -> ok, Log.i -> info, Log.d -> debug, Log.e -> error, Log.w -> warning. prefix는 접두사 필터 매개변수로, 기본적으로 필터가 설정되지 않습니다. 참고: Android 콘솔 로그 양은 매우 많습니다. 애플리케이션 성능에 영향을 주고 불필요한 리소스 낭비를 줄이기 위해 prefix를 사용하여 가치 있는 로그만 필터링하는 것을 권장합니다. ft-plugin 1.3.5 이상 버전에서는 Log.println으로 출력된 로그 캡처를 지원합니다. |
| setEnableWebViewLog | Boolean | 아니요 | WebView에서 Browser SDK가 생성한 로그를 수집할지 여부를 설정합니다. 기본값은 false이며, ft-sdk 1.7.5 이상에서 지원됩니다. 이 설정은 setEnableCustomLog 및 setEnableConsoleLog와 독립적입니다. 연동 방법은 WebView 로그 수집을 참조하세요. |
| setEnableLinkRumData | Boolean | 아니요 | RUM 데이터와 연결할지 여부를 설정합니다. 기본값은 false입니다. |
| setEnableCustomLog | Boolean | 아니요 | 사용자 정의 로그를 업로드할지 여부를 설정합니다. 기본값은 false입니다. |
| setLogLevelFilters | Array | 아니요 | 로그 레벨 필터를 설정합니다. 기본적으로 설정되지 않습니다. |
| addGlobalContext | Dictionary | 아니요 | 로그 전역 속성을 추가합니다. 추가 규칙은 여기를 참조하세요. |
| setLogCacheLimitCount | Int | 아니요 | 로컬 캐시 최대 로그 항목 수 제한 [1000,). 로그가 많을수록 디스크 캐시 부담이 커집니다. 기본값은 5000입니다. |
| setLogCacheDiscardStrategy | LogCacheDiscard | 아니요 | 로그가 제한에 도달했을 때의 폐기 규칙을 설정합니다. 기본값은 LogCacheDiscard.DISCARD이며, DISCARD는 추가 데이터를 폐기하고, DISCARD_OLDEST는 오래된 데이터를 폐기합니다. |
Logger 로그 출력¶
FTLogger를 사용하여 사용자 정의 로그를 출력하려면 FTLoggerConfig.setEnableCustomLog(true)를 활성화해야 합니다.
현재 로그 내용은 30KB로 제한되며, 초과하는 문자는 잘립니다.
사용 방법¶
/**
* 단일 로그 데이터를 로컬에 저장하고 동기화합니다.
*
* @param content 로그 내용
* @param status 로그 레벨, enum Status
* @param property 추가 속성(선택 사항)
*/
public void logBackground(String content, Status status, HashMap<String, Object> property)
/**
* 단일 로그 데이터를 로컬에 저장하고 동기화합니다.
*
* @param content 로그 내용
* @param status 로그 레벨, String
* @param property 추가 속성(선택 사항)
*/
public void logBackground(String content, String status, HashMap<String, Object> property)
/**
* 여러 로그 데이터를 로컬에 저장하고 동기화합니다.
*
* @param logDataList {@link LogData} 리스트
*/
public void logBackground(List<LogData> logDataList)
/**
* 단일 로그 데이터를 로컬에 저장하고 동기화합니다.
*
* @param content 로그 내용
* @param status 로그 레벨
* @param property 로그 속성(선택 사항)
*/
fun logBackground(content: String, status: Status, property: HashMap<String, Any>)
/**
* 단일 로그 데이터를 로컬에 저장하고 동기화합니다.
*
* @param content 로그 내용
* @param status 로그 레벨
* @param property 로그 속성(선택 사항)
*/
fun logBackground(content: String, status: String, property: HashMap<String, Any>)
/**
* 여러 로그 데이터를 로컬에 저장하고 동기화합니다.
*
* @param logDataList 로그 데이터 리스트
*/
fun logBackground(logDataList: List<LogData>)
로그 레벨¶
| 메서드명 | 설명 |
|---|---|
| Status.DEBUG | 디버그 |
| Status.INFO | 정보 |
| Status.WARNING | 경고 |
| Status.ERROR | 오류 |
| Status.CRITICAL | 심각 |
| Status.OK | 복구 |
코드 예제¶
// 단일 로그 업로드
FTLogger.getInstance().logBackground("test", Status.INFO);
// HashMap에 매개변수 전달
HashMap<String, Object> map = new HashMap<>();
map.put("ft_key", "ft_value");
FTLogger.getInstance().logBackground("test", Status.INFO, map);
// 로그 배치 업로드
List<LogData> logList = new ArrayList<>();
logList.add(new LogData("test", Status.INFO));
FTLogger.getInstance().logBackground(logList);
// 단일 로그 업로드
FTLogger.getInstance().logBackground("test", Status.INFO)
// HashMap에 매개변수 전달
val map = HashMap<String, Any>()
map["ft_key"] = "ft_value"
FTLogger.getInstance().logBackground("test", Status.INFO, map)
// 로그 배치 업로드
FTLogger.getInstance().logBackground(mutableListOf(LogData("test", Status.INFO)))