콘텐츠로 이동

로그 설정

Log 초기화 설정

FTSdk.initLogWithConfig(new FTLoggerConfig()
    //.setEnableConsoleLog(true, "log prefix")
    .setEnableLinkRumData(true)
    .setEnableCustomLog(true)
    .setEnableWebViewLog(true)
    //.setLogLevelFilters(new Status[]{Status.CRITICAL, Status.ERROR})
    .setSamplingRate(0.8f));
FTSdk.initLogWithConfig(
    FTLoggerConfig()
        //.setEnableConsoleLog(true, "log prefix")
        .setEnableLinkRumData(true)
        .setEnableCustomLog(true)
        .setEnableWebViewLog(true)
        //.setLogLevelFilters(arrayOf(Status.CRITICAL, Status.ERROR))
        .setSamplingRate(0.8f)
)
메서드명 유형 필수 설명
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 이상에서 지원됩니다. 이 설정은 setEnableCustomLogsetEnableConsoleLog와 독립적입니다. 연동 방법은 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)))

문서 평가

이 페이지가 도움이 되었나요?