Habilitar log de depuração para coleta de dados

O log de diagnóstico ajuda a explicar comandos do SDK, execução de tags, avisos e erros no tempo de execução em que sua implementação é executada. Use-a com inspeção de solicitação quando também precisar inspecionar solicitações ou processamento. Se não tiver certeza de onde iniciar, consulte a Visão geral de depuração e solução de problemas.

Escolha um método de registro choose-a-logging-method

Implementação
Habilitar registro
Onde lê-lo
Escopo e redefinição
Web SDK, implementado diretamente
debugEnabled, setDebug, o parâmetro de consulta alloy_debug ou o Depurador
Console do navegador
debugEnabled se aplica a cada visitante que executa essa configuração. setDebug e alloy_debug se aplicam somente à guia do navegador, persistem em carregamentos de página de mesma origem nessa guia e têm precedência sobre debugEnabled. Desativá-los explicitamente ao concluir.
Tags, incluindo o Web SDK gerenciado por extensão
_satellite.setDebug(true)
Console do navegador
Aplica-se somente ao seu navegador. Armazenado no armazenamento local da origem, de forma que persista em carregamentos de página e o navegador seja reiniciado até que você execute o _satellite.setDebug(false) ou limpe os dados do site.
SDK do servidor
debugEnabled ou setDebug
Saída de registro/console do servidor
A configuração define a linha de base para a instância e os identificadores de solicitação. As alterações no tempo de execução afetam somente a instância ou o identificador chamado. As configurações não sobrevivem a uma reinicialização do processo, a menos que seu código as reaplique.
SDK móvel
MobileCore.setLogLevel
Android Logcat ou o console de desenvolvimento do iOS
Aplicável no aplicativo em execução. Defina o nível desejado durante a inicialização em cada inicialização; restaure o log de nível de erro após a depuração.

O log de depuração do Web SDK, da biblioteca de tags e do Server SDK está desativado por padrão. O Mobile SDK assume como padrão o registro em nível de erro, em vez de não registrar em log.

IMPORTANT
As mensagens de depuração podem conter dados de evento e identificadores de visitantes. Prefira a depuração local ou somente de desenvolvimento, evite o registro detalhado da produção e remova informações confidenciais antes de compartilhar a saída. O registro não prova que o Edge Network ou um serviço downstream recebeu e processou um evento.

Habilitar registro em log por biblioteca enable-logging

Expanda a seção da biblioteca que sua implementação usa. Cada seção explica como ativar o registro, onde ler a saída e como desativar o registro.

Web SDK

Os métodos a seguir controlam a saída de diagnóstico do Web SDK. Eles não ativam o log da biblioteca de tags para uma implementação independente do Web SDK.

debugEnabledno comando configure: Defina debugEnabled como true em sua chamada configure existente. Essa configuração é útil em ambientes de desenvolvimento. Se implantado no código do site, ele ativa o registro para visitantes que executam essa configuração.

code language-js
alloy("configure", {
  datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
  orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
  debugEnabled: true
});

Altere o valor de configuração para false ou omita-o em implantações subsequentes para restaurar o padrão. Não execute configure uma segunda vez na mesma instância para alternar o log. Use setDebug. Uma substituição de depuração local pode ter precedência sobre o valor de configuração. Consulte debugEnabled para obter a referência da configuração.

O comando setDebug: execute o comando na instância apropriada do Web SDK no console do navegador:

code language-js
alloy("setDebug", { enabled: true });

Quando terminar, desabilite-o:

code language-js
alloy("setDebug", { enabled: false });

A execução desse comando no console altera a instância local, não os navegadores de outros visitantes. Se você colocar o mesmo comando no código do site implantado, ele afetará os visitantes que executam esse código. A substituição local pode persistir em carregamentos de página para essa instância na sessão da guia de mesma origem quando o armazenamento do navegador estiver disponível. Consulte setDebug para obter mais informações.

O alloy_debug parâmetro da cadeia de caracteres de consulta: adicione alloy_debug=true à URL da página e, em seguida, carregue a página:

code language-text
https://example.com/?alloy_debug=true

Use &alloy_debug=true se a URL já tiver parâmetros de consulta. Esse parâmetro permite o registro local sem alterar o código implantado. O Web SDK lê o parâmetro quando cada instância é criada, de modo que se aplica a todas as instâncias do Web SDK na página. Quando o armazenamento do navegador está disponível, a configuração persiste para a sessão de mesma origem da guia, portanto, a remoção do parâmetro sozinha não desativa o registro. Carregue a página com alloy_debug=false ou execute setDebug com enabled: false para desabilitá-la. Se a URL ainda contiver alloy_debug=true, recarregá-la habilitará o logon novamente.

Adobe Experience Platform Debugger: abra o Adobe Experience Platform Debugger, selecione a seção Web SDK e habilite a depuração na guia de configuração. Desative a opção quando terminar.

Habilitar a depuração do Web SDK no Depurador

Este procedimento habilita saída de diagnóstico; o uso do Depurador para solicitação ou inspeção Edge é abordado em Inspecionar solicitações de coleta de dados.

Marcas e a extensão de marca do Web SDK

Em uma página com uma biblioteca de tags, execute o seguinte no console do navegador:

code language-js
_satellite.setDebug(true);

Este comando expõe mensagens de biblioteca de marcas, incluindo a saída _satellite.logger. Para instâncias do Web SDK gerenciadas pela extensão de tag do Web SDK, a extensão usa o modo de depuração de tag ao configurar o SDK e encaminha as alterações subsequentes no modo de depuração para ele. Não suponha que ativar a depuração para uma instância independente ou configurada externamente do Web SDK também ative o registro de tags.

A extensão de tag do Web SDK não fornece um botão de depuração na interface do usuário de configuração de tags. Use o método do console para uma instância gerenciada por extensão. Mantenha-o fora das regras de tags.

Para desativar o modo de depuração de tag e o log do SDK gerenciado por extensão correspondente:

code language-js
_satellite.setDebug(false);

O modo de depuração da tag é armazenado no armazenamento local do navegador para a origem da página. Ela persiste entre carregamentos de página e reinicializações do navegador até que você os desative ou limpe os dados do site e não ative o registro para outros visitantes. Consulte _satellite.setDebug() para obter detalhes sobre escopo e persistência.

A biblioteca de tags notifica a extensão somente quando o modo de depuração da tag é alterado. Se o modo de depuração de marca já estiver ativado, mas as mensagens do Web SDK estiverem ausentes, uma substituição do Web SDK de setDebug ou alloy_debug pode ter desativado o logoff do SDK. Execute _satellite.setDebug(false) e depois _satellite.setDebug(true) ou use o mesmo método do Web SDK que definiu a substituição.

SDK do Servidor

O SDK do Servidor grava a saída do diagnóstico no console do servidor, não no navegador do visitante.

Defina debugEnabled: true na chamada configure existente do lado do servidor para habilitar o log da instância e os identificadores forRequest criados a partir dessa configuração. O padrão é false. Consulte debugEnabled para obter um exemplo completo de configuração.

Para uma investigação direcionada, chame setDebug no identificador de escopo de solicitação retornado por forRequest. O registro altera somente esse identificador para que você possa depurar uma única solicitação sem ativá-la para todos os visitantes:

code language-js
const visitor = alloy.forRequest({ request: req });

await visitor.setDebug({ enabled: true });
await visitor.sendEvent({
  xdm: { eventType: "web.webpagedetails.pageViews" }
});

Chamar setDebug na instância de nível superior altera o log somente para chamadas feitas diretamente nessa instância, não para seus identificadores de solicitação, até que você a desabilite ou o processo seja reiniciado. Para alterar a linha de base de todos os identificadores de solicitação, atualize debugEnabled na configuração do servidor.

As mensagens identificam a instância em colchetes, como [alloy], e incluem configuração, entradas/resultados de método, avisos e erros. Revise a saída do processo do servidor ou o destino do log para o qual seu ambiente de hospedagem o roteia.

SDK móvel

Use a API setLogLevel do Mobile Core para selecionar detalhamento de diagnóstico. O padrão do Android é LoggingMode.ERROR; o padrão do iOS é LogLevel.error. Defina o nível desejado durante a inicialização do aplicativo antes de reproduzir o problema.

Android: habilitar o log detalhado no aplicativo de desenvolvimento:

code language-kotlin
import com.adobe.marketing.mobile.LoggingMode
import com.adobe.marketing.mobile.MobileCore

MobileCore.setLogLevel(LoggingMode.VERBOSE)

Exiba a saída no Logcat do Android Studio para o processo do aplicativo em execução. As mensagens do Mobile SDK usam a marca AdobeExperienceSDK, portanto, filtre com tag:AdobeExperienceSDK e verifique se o visualizador de log permite mensagens detalhadas e de depuração. Restaurar log de nível de erro ao concluir:

code language-kotlin
MobileCore.setLogLevel(LoggingMode.ERROR)

iOS: habilitar o log de rastreamento no aplicativo de desenvolvimento:

code language-swift
import AEPCore
import AEPServices

MobileCore.setLogLevel(.trace)

Exiba o console do aplicativo em execução no Xcode e filtre por AEP SDK. Restaurar log de nível de erro ao concluir:

code language-swift
MobileCore.setLogLevel(.error)

Retornar ao nível de erro reduz a saída de diagnóstico; não suprime erros. Essas chamadas alteram o registro no aplicativo em execução, não em outras instalações. Certifique-se de que o código de inicialização não reative o registro detalhado na próxima inicialização ou em uma build de produção.

Consulte a Referência da API principal móvel para obter detalhes sobre Java, Objetive-C, níveis suportados e específicos da versão. Para React Native ou Flutter, use a API exposta pelo seu invólucro do SDK para dispositivos móveis em vez de copiar chamadas nativas diretamente para o código do invólucro. Para inspeção de evento conectado em vez de saída do console de tempo de execução, consulte Assurance.

Ler e solucionar problemas de saída de diagnóstico read-output

Use os identificadores a seguir para localizar mensagens do SDK e de tags na saída de log ocupado. Se você renomeou uma instância do Web SDK ou do Server SDK, procure por esse nome em vez de alloy.

Origem
Procure
Web SDK
O nome da instância entre parênteses, como [alloy], seguido por um nome de componente para mensagens de componente
Tags
🚀 seguido pela regra de origem, extensão ou nome do elemento de dados entre parênteses. Consulte _satellite.logger.
SDK do servidor
O nome da instância entre parênteses, como [alloy]
SDK móvel (Android)
A marca Logcat AdobeExperienceSDK
SDK móvel (iOS)
AEP SDK, seguido pelo nível de log e pelo rótulo da extensão
  • Verificar o local de saída: as configurações do navegador não expõem os logs do servidor ou do aplicativo nativo. Selecione a página do navegador correta, o processo do servidor ou o processo do aplicativo.
  • Verificar níveis de log: as mensagens do Web SDK usam níveis de console padrão que os navegadores mostram por padrão. As mensagens do _satellite.logger.debug() exigem o nível detalhado do console, e as mensagens detalhadas e de depuração do Mobile SDK exigem um visualizador de log que inclua esses níveis.
  • Habilitar log antes da ação: as mensagens existentes não são recriadas apenas porque você ativa o logon. Reproduza o problema depois de ativá-lo.
  • Verificar o controle ativo: as substituições locais do Web SDK podem substituir a configuração. Tags e instâncias independentes do SDK não compartilham necessariamente uma configuração.
  • Distinguir logs de evidências de transporte: um log pode mostrar que um comando foi executado ou que um transporte foi selecionado sem comprovar a confirmação. Consulte Inspecionar solicitações de coleta de dados para inspecionar solicitações, respostas e exibições de processamento com suporte.

Os ganchos de monitoramento do Web SDK são um mecanismo programático separado e são executados independentemente da configuração de log de depuração. Clientes de API brutos, sequências de dados e encaminhamento de eventos não compartilham um comutador de log universal SDK; use seus logs de aplicativo ou o diagnóstico de serviço conforme apropriado.

recommendation-more-help
experience-platform-help-collection