본문으로 건너뛰기

query-mobile-logs

개요

query-mobile-logs는 모바일 애플리케이션의 로그를 조회하고 분석하는 MCP 도구입니다. iOS와 Android 플랫폼의 로그를 통합하여 검색할 수 있으며, 다양한 필터링 옵션을 제공합니다.

이 문서에서는 다음 사용 방법을 다룹니다:

  • LLM AI Chat: 자연어로 간편하게 사용하고 싶은 경우
  • JSON 형식: 구조화된 데이터로 정확한 제어가 필요한 경우

두 방법 모두 같은 결과를 제공하며, 사용자의 선호도와 상황에 따라 선택할 수 있습니다.

도구 정보

  • 이름: query-mobile-logs
  • 설명: Query mobile app logs with various filters
  • 카테고리: 데이터 조회
  • 지원 플랫폼: iOS, Android

파라미터

필수 파라미터

파라미터타입설명예시
startTimestring조회 시작 시간 (ISO 8601 형식)"2024-01-15T00:00:00.000Z"
endTimestring조회 종료 시간 (ISO 8601 형식)"2024-01-15T23:59:59.999Z"

선택 파라미터

파라미터타입기본값설명예시
deviceIdstring-특정 디바이스 ID"device-ios-12345"
userIdstring-특정 사용자 ID"user-98765"
platformstring-플랫폼 필터 (iOS, Android)"iOS"
appVersionstring-앱 버전 필터"1.2.3"
logLevelstring[]-로그 레벨 필터["ERROR", "CRITICAL"]
errorTypestring-에러 타입 필터"NetworkError"
limitnumber100최대 결과 수200

로그 레벨

  • DEBUG: 디버깅 정보
  • INFO: 일반 정보
  • WARNING: 경고 메시지
  • ERROR: 에러 메시지
  • CRITICAL: 심각한 에러

LLM AI Chat에서의 사용법

LLM AI Chat에서는 자연어로 모바일 로그를 조회할 수 있습니다. 다음과 같은 방식으로 사용할 수 있습니다:

기본 로그 조회

오늘 모바일 앱 로그를 조회해주세요.

또는

2024년 1월 15일 모바일 앱 로그를 확인해주세요.

에러 로그 조회

최근 24시간 동안 발생한 모바일 앱 에러를 조회해주세요.
iOS 앱에서 발생한 에러와 심각한 에러를 조회해주세요.
- 시작 시간: 2024-01-15 00:00
- 종료 시간: 2024-01-15 23:59

특정 사용자 문제 추적

사용자 ID "user-12345"의 모바일 앱 로그를 조회해주세요.
- 시간: 2024-01-15 08:00부터 10:00까지
- 경고, 에러, 심각한 에러만 표시

플랫폼별 로그 분석

Android 앱 로그를 조회해주세요.
- 어제 하루 동안
- 에러 레벨만
iOS 앱 버전 1.2.3의 로그를 확인해주세요.
- 최근 일주일 동안
- 모든 로그 레벨

네트워크 에러 분석

NetworkError 타입의 에러를 조회해주세요.
- 2024-01-14부터 2024-01-15까지
- 최대 500개까지
네트워크 관련 문제를 분석해주세요.
- 최근 3일간의 데이터
- 에러 타입: NetworkError

크래시 분석

앱 크래시 로그를 조회해주세요.
- 심각한 에러 레벨
- 오늘 하루 동안
특정 디바이스의 크래시를 분석해주세요.
- 디바이스 ID: device-ios-001
- 크래시 전후 10분간의 모든 로그

자연어 응답 예시

요청: "오늘 iOS 앱에서 발생한 에러를 조회해주세요."

응답: "iOS 앱에서 발생한 에러 로그를 조회했습니다.

총 25개의 로그를 발견했습니다:

주요 에러 정보:

  • 시간: 2024-01-15T08:30:15.000Z
  • 디바이스: device-ios-001
  • 사용자: user-12345
  • 플랫폼: iOS
  • 앱 버전: 1.2.3
  • 로그 레벨: ERROR
  • 메시지: Network request failed: timeout
  • 에러 타입: NetworkError

추가 정보:

  • 세션 ID: session-abc123
  • 화면: HomeScreen
  • 네트워크 상태: 4G
  • 배터리: 85%
  • 메모리 사용률: 65%"

팁과 모범 사례

  1. 시간 범위 명시: 명확한 시간 범위를 제공하면 더 정확한 결과를 얻을 수 있습니다.

  2. 구체적인 조건: 플랫폼, 사용자 ID, 에러 타입 등을 구체적으로 명시하세요.

  3. 로그 레벨 활용: 원하는 정보에 따라 적절한 로그 레벨을 선택하세요.

  4. 결과 수 제한: 대량의 로그 조회 시 결과 수를 제한하여 성능을 향상시키세요.

  5. 단계별 접근: 먼저 광범위하게 조회한 후 필요에 따라 세부 조건을 추가하세요.

사용 예시 (JSON 형식)

기본 사용법

{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-15T00:00:00.000Z",
"endTime": "2024-01-15T23:59:59.999Z"
}
}

플랫폼별 에러 조회

{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-15T00:00:00.000Z",
"endTime": "2024-01-15T23:59:59.999Z",
"platform": "iOS",
"logLevel": ["ERROR", "CRITICAL"]
}
}

특정 사용자 문제 추적

{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-15T08:00:00.000Z",
"endTime": "2024-01-15T10:00:00.000Z",
"userId": "user-12345",
"logLevel": ["WARNING", "ERROR", "CRITICAL"]
}
}

네트워크 에러 분석

{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-14T00:00:00.000Z",
"endTime": "2024-01-15T00:00:00.000Z",
"errorType": "NetworkError",
"limit": 500
}
}

응답 형식

성공 응답

{
"content": [
{
"type": "text",
"text": "Found 25 mobile log entries:\n\n[{\n \"id\": \"log-001\",\n \"timestamp\": \"2024-01-15T08:30:15.000Z\",\n \"deviceId\": \"device-ios-001\",\n \"userId\": \"user-12345\",\n \"platform\": \"iOS\",\n \"appVersion\": \"1.2.3\",\n \"osVersion\": \"16.4\",\n \"logLevel\": \"ERROR\",\n \"message\": \"Network request failed: timeout\",\n \"errorType\": \"NetworkError\",\n \"stackTrace\": \"Error: Network timeout\\n at NetworkManager.request (NetworkManager.swift:45)\",\n \"metadata\": {\n \"sessionId\": \"session-abc123\",\n \"screenName\": \"HomeScreen\",\n \"actionType\": \"api_call\",\n \"networkStatus\": \"4G\",\n \"batteryLevel\": 85,\n \"memoryUsage\": 65\n },\n \"environment\": \"production\"\n}]"
}
],
"isError": false
}

에러 응답

{
"content": [
{
"type": "text",
"text": "Error querying mobile logs: Invalid time range - start time must be before end time"
}
],
"isError": true
}

로그 데이터 구조

각 로그 엔트리는 다음 필드를 포함합니다:

필드타입설명
idstring로그 고유 ID
timestampstring로그 생성 시각
deviceIdstring디바이스 식별자
userIdstring?사용자 ID (옵션)
platformstring플랫폼 (iOS/Android)
appVersionstring앱 버전
osVersionstringOS 버전
logLevelstring로그 레벨
messagestring로그 메시지
errorTypestring?에러 타입 (에러인 경우)
stackTracestring?스택 트레이스 (에러인 경우)
metadataobject추가 메타데이터
environmentstring실행 환경

메타데이터 필드

필드타입설명
sessionIdstring세션 식별자
screenNamestring현재 화면 이름
actionTypestring수행 중인 액션 타입
networkStatusstring네트워크 상태 (wifi/4G/5G)
batteryLevelnumber배터리 잔량 (0-100)
memoryUsagenumber메모리 사용률 (0-100)

사용 시나리오

시나리오 1: 앱 크래시 분석

LLM AI Chat:

1. iOS 앱에서 발생한 크래시 로그를 조회해주세요.
- 시간: 2024-01-15 오전 0시부터 12시까지
- 심각한 에러만

2. 크래시가 발생한 디바이스의 전후 상황을 확인해주세요.
- 디바이스: device-ios-crashed
- 시간: 2024-01-15 08:25부터 08:35까지
- 모든 레벨의 로그

JSON 형식:

// 1. 크래시 로그 조회
{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-15T00:00:00.000Z",
"endTime": "2024-01-15T12:00:00.000Z",
"logLevel": ["CRITICAL"],
"platform": "iOS"
}
}

// 2. 크래시 전후 컨텍스트 확인
{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-15T08:25:00.000Z",
"endTime": "2024-01-15T08:35:00.000Z",
"deviceId": "device-ios-crashed",
"logLevel": ["INFO", "WARNING", "ERROR", "CRITICAL"]
}
}

시나리오 2: 버전별 안정성 비교

LLM AI Chat:

앱 버전별 안정성을 비교해주세요.

1. 버전 1.2.3의 에러 로그를 조회해주세요.
- 기간: 2024-01-01부터 2024-01-07까지
- 에러와 심각한 에러만

2. 버전 1.2.4의 에러 로그를 조회해주세요.
- 기간: 2024-01-08부터 2024-01-14까지
- 에러와 심각한 에러만

JSON 형식:

// 버전 1.2.3 로그
{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-01T00:00:00.000Z",
"endTime": "2024-01-07T23:59:59.999Z",
"appVersion": "1.2.3",
"logLevel": ["ERROR", "CRITICAL"]
}
}

// 버전 1.2.4 로그
{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-08T00:00:00.000Z",
"endTime": "2024-01-14T23:59:59.999Z",
"appVersion": "1.2.4",
"logLevel": ["ERROR", "CRITICAL"]
}
}

시나리오 3: 성능 문제 진단

LLM AI Chat:

성능 문제를 진단하기 위해 경고 레벨의 로그를 분석해주세요.
- 시간: 2024-01-15 09:00부터 10:00까지
- 경고 레벨만
- 최대 1000개까지

JSON 형식:

{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-15T09:00:00.000Z",
"endTime": "2024-01-15T10:00:00.000Z",
"logLevel": ["WARNING"],
"limit": 1000
}
}

시나리오 4: 특정 사용자 문제 해결

LLM AI Chat:

사용자 ID "user-problematic"의 문제를 추적해주세요.
- 최근 24시간 동안의 로그
- 모든 로그 레벨 포함
- 어떤 문제가 발생했는지 패턴 분석

JSON 형식:

{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-14T00:00:00.000Z",
"endTime": "2024-01-15T00:00:00.000Z",
"userId": "user-problematic",
"logLevel": ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
}
}

시나리오 5: 네트워크 문제 분석

LLM AI Chat:

네트워크 관련 문제를 종합적으로 분석해주세요.
- 최근 일주일 동안의 데이터
- NetworkError 타입의 에러
- 플랫폼별 분포도 확인

JSON 형식:

{
"tool": "query-mobile-logs",
"arguments": {
"startTime": "2024-01-08T00:00:00.000Z",
"endTime": "2024-01-15T00:00:00.000Z",
"errorType": "NetworkError",
"limit": 500
}
}

성능 고려사항

  1. 시간 범위: 넓은 시간 범위는 많은 데이터를 반환할 수 있으므로 적절히 제한하세요.
  2. limit 설정: 대량의 로그 조회 시 적절한 limit을 설정하여 응답 크기를 관리하세요.
  3. 필터 활용: 가능한 한 구체적인 필터를 사용하여 불필요한 데이터를 제외하세요.

문제 해결

일반적인 오류

  1. 빈 결과

    • 시간 범위 확인
    • 필터 조건 완화
    • 데이터 존재 여부 확인
  2. 타임아웃

    • 시간 범위 축소
    • limit 값 감소
    • 더 구체적인 필터 적용
  3. 잘못된 파라미터

    • 시간 형식 확인 (ISO 8601)
    • 플랫폼 값 확인 (iOS/Android)
    • 로그 레벨 철자 확인

보안 및 프라이버시

  • 민감한 사용자 정보는 마스킹 처리됩니다
  • 접근 권한이 있는 데이터만 조회 가능합니다
  • 로그 데이터는 보존 정책에 따라 관리됩니다

관련 도구

  • query-recent-errors: 시스템 에러 조회
  • analyze-error-patterns: 에러 패턴 분석
  • questionnaire_data_query: 설문 데이터 조회

관련 문서