Sempre que eu inicio o aplicativo FireBase, ele registra o status de vários recursos do Firebase. No momento, isto é o que está sendo registrado:
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
Eu olhei os pods e não encontrei nenhuma declaração de impressão, então de que outra forma eu faria para impedir que eles fossem registrados com o tempo que eu executar o aplicativo?
Respostas:
Você pode desabilitar o log de depuração com o sinalizador
-FIRDebugDisabled
.Você pode adicioná-lo ao seu esquema :
-FIRDebugDisabled
fonte
-noFIRAnalyticsDebugEnabled
foi renomeado para-FIRDebugDisabled
. As outras etapas são iguais.Adicione
FirebaseConfiguration.shared.setLoggerLevel(.min)
antesFirebaseApp.configure()
para atingir a quantidade mínima de registro.fonte
Por padrão, o Firebase registra informações, erros e avisos.
Então, você pode definir o nível de logger para o qual você precisa.
Se você definir para .Error, você obterá min log apenas quando ocorrer um erro.
setLoggerLevel antes de FirebaseApp.configure () conforme mostrado abaixo
Em Swift 2.3 e Firebase 4
Em Swift 3 e Firebase 4
fonte
No meu caso, para ocultar a parte extra do log do console do Firebase, fiz o seguinte:
Edição 1 : Como @ jesus-adolfo-rodriguez disse, isso está relacionado ao Xcode. Portanto, se você não quiser o OSLog no console do Xcode, coloque a variável de ambiente OS_ACTIVITY_MODE para “desabilitar” em seu esquema.
Editar 2:
Mais detalhes na implementação de FIRConfiguration aqui
Editar 3: 2019
De acordo com este problema: https://github.com/firebase/firebase-ios-sdk/issues/2774#issuecomment-482780714
Adicionar o argumento -FIRDebugDisabled e limpar o projeto resolveu o problema.
O sistema de registro no Firebase
fonte
setLoggerLevel(.min)
e-FIRDebugDisabled
. Ótima resposta!Em Swift 4
fonte
FirebaseConfiguration.shared.setLoggerLevel(.min)
em FB 5.14Swift 4 Firebase 4.10
Defina o nível de logger em seu AppDelegate.swift
Aqui está o código completo:
fonte
Por padrão, o Firebase Analytics registrará apenas 4 linhas INFO na produção + erros / avisos. Isso deve ser muito pouco resultado se as coisas funcionarem corretamente. Adicionar -noFIRAnalyticsDebugEnabled desabilitará apenas os logs de nível DEBUG e ERROR / WARN são sempre registrados. Se você vir quaisquer avisos ou erros, provavelmente precisará fazer algo para resolver a causa. Algumas coisas provavelmente não funcionarão corretamente se avisos / erros forem registrados. O aplicativo que está configurado corretamente não deve registrar erros / avisos.
As mensagens marcadas com FIRInstanceID / * são registradas pelo Firebase Notification e os erros / avisos são sempre registrados.
fonte
Como o djabi disse, você não pode desativar esses logs se eles forem INFO, WARNING ou ERROR.
Quero acrescentar algo à resposta de Nitin Gohel, pois não posso comentar: O sinalizador FirebaseAppDelegateProxyEnabled não é para desabilitar logs. Se você desligá-lo, perderá o rastreamento automático da campanha e precisará adicionar os métodos do FIRAnalytics (AppDelegate) para lidar com a URL e a atividade do usuário por conta própria.
fonte
Para adicionar à resposta de Alex, em https://firebase.google.com/docs/cloud-messaging/ios/client
FirebaseAppDelegateProxyEnabled
é para usar os métodos do delegado do seu aplicativofonte
Acho que há uma grande e muito importante confusão acontecendo.
Ao usá-
-FIRDebugDisabled
lo, ele desabilitará o modo de depuração, o que afetará suas medições durante o teste e o desenvolvimento .Para reduzir os logs:
No entanto, há um bug nas versões 6.18 e 6.20.
Como alternativa, você pode usar o
-noFIRAnalyticsDebugEnabled
que é diferente, este não desativa o modo de depuração.fonte