[ios] 앱이 시작될 때 Firebase 상태 업데이트 로깅을 중지하는 방법

FireBase 앱을 시작할 때마다 다양한 Firebase 기능의 상태가 기록됩니다. 지금은 다음과 같이 기록됩니다.

Configuring the default app.

<FIRAnalytics/INFO> Firebase Analytics v.3200000 started

<FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see ...)

<FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist

<FIRInstanceID/WARNING> FIRInstanceID AppDelegate proxy enabled, will swizzle app delegate remote notification handlers. To disable add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO

<FIRAnalytics/INFO> Firebase Analytics enabled

포드를 살펴 보았지만 인쇄 문을 찾지 못했기 때문에 앱을 실행하는 동안 이러한 항목이 기록되지 않도록 어떻게해야합니까?



답변

플래그를 사용하여 디버그 로깅을 비활성화 할 수 있습니다 -FIRDebugDisabled.

구성표에 추가 할 수 있습니다 .

  1. 구성표 선택 도구 모음
  2. 구성표 편집
  3. 실행 선택
  4. 인수를 클릭하고 추가 -FIRDebugDisabled

답변

최소한의 로깅을 달성하려면 FirebaseConfiguration.shared.setLoggerLevel(.min)전에 추가하십시오 FirebaseApp.configure().

func setupFirebase() {
  FirebaseConfiguration.shared.setLoggerLevel(.min)
  FirebaseApp.configure()
}


답변

기본적으로 Firebase는 정보, 오류 및 경고를 기록합니다.
따라서 필요한 로거 레벨을 설정할 수 있습니다.
.Error를 설정하면 오류가 발생한 경우에만 최소 로그가 표시됩니다.

아래와 같이 FirebaseApp.configure () 전에 setLoggerLevel

Swift 2.3 및 Firebase 4

 FirebaseConfiguration.sharedInstance().setLoggerLevel(.Error)
 FirebaseApp.configure()

Swift 3 및 Firebase 4

 FirebaseConfiguration.shared.setLoggerLevel(.min)
 FirebaseApp.configure()


답변

필자의 경우 Firebase에서 추가 콘솔 로그 청크를 숨기려면 다음을 수행했습니다.

  1. Product-> Scheme-> Edit Scheme으로 이동합니다.
  2. 환경 변수 섹션의 인수 탭에서 OS_ACTIVITY_MODE = disable을 추가하십시오.

여기에 이미지 설명 입력

  • 필요한 경우 상자를 선택 취소하면됩니다.
  • OS_ACTIVITY_MODE를 비활성화 하면 때때로 모든 예외에 대한 로그도 비활성화 됩니다.

편집 1 : @ jesus-adolfo-rodriguez가 말했듯이 이것은 Xcode와 관련이 있습니다. 따라서 Xcode 콘솔에서 OSLog를 원하지 않는 경우 OS_ACTIVITY_MODE 환경 변수를 스키마에서 “비활성화”로 설정하십시오.


편집 2 :

FirebaseConfiguration.shared.setLoggerLevel(FirebaseLoggerLevel.min)
FirebaseApp.configure()

FIRConfiguration 구현에 대한 자세한 내용은 여기


편집 3 : 2019

이 문제에 따르면 :
https://github.com/firebase/firebase-ios-sdk/issues/2774#issuecomment-482780714

-FIRDebugDisabled 인수를 추가 하고 프로젝트를 정리하면 트릭이 발생했습니다.

Firebase의 로깅 시스템

로깅 시스템에는 기본 모드와 디버그 모드의 두 가지 모드가 있습니다. 기본 모드에서는 로그 수준의 알림, 경고 및 오류가있는 로그 만 장치로 전송됩니다. 디버그 모드에서는 모든 로그가 장치로 전송됩니다. Firebase가 사용하는 로그 수준은 ASL 로그 수준과 일치합니다.

-FIRDebugEnabled 인수를 응용 프로그램에 전달하여 디버그 모드를 활성화합니다. 이 인수를 응용 프로그램의 Xcode 체계에 추가 할 수 있습니다. -FIRDebugEnabled를 통해 디버그 모드가 활성화되면 응용 프로그램의 추가 실행도 디버그 모드에있게됩니다. 기본 모드로 돌아가려면 응용 프로그램 인수 -FIRDebugDisabled를 사용하여 디버그 모드를 명시 적으로 비활성화해야합니다 .

FIRConfiguration 인터페이스에서 setLoggerLevel :을 호출하여 코드의 기본 로깅 수준을 변경할 수도 있습니다.


답변

FIRConfiguration.sharedInstance().setLoggerLevel(.min)
FIRApp.configure()

Swift 4에서


답변

Swift 4 Firebase 4.10

AppDelegate.swift에서 로거 레벨 설정

FirebaseConfiguration().setLoggerLevel(FirebaseLoggerLevel.min)

다음은 전체 코드입니다.

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    FirebaseConfiguration().setLoggerLevel(FirebaseLoggerLevel.min)
    FirebaseApp.configure()
    return true
}


답변

기본적으로 Firebase Analytics는 프로덕션 + 오류 / 경고에서 4 개의 INFO 라인 만 기록합니다. 일이 제대로 작동한다면 출력이 거의 없을 것입니다. -noFIRAnalyticsDebugEnabled를 추가하면 DEBUG 수준 로그 만 비활성화되고 ERROR / WARN은 항상 기록됩니다. 경고 또는 오류가 표시되면 원인을 해결하기 위해 조치를 취해야합니다. 경고 / 오류가 기록되면 일부 항목이 올바르게 작동하지 않을 수 있습니다. 올바르게 설정된 앱은 오류 / 경고를 기록하지 않아야합니다.

FIRInstanceID / * 태그가 지정된 메시지는 Firebase 알림에 의해 기록되고 오류 / 경고는 항상 기록됩니다.