Pular para o conteúdo
Kitegra
← Voltar ao blog

Módulo deste artigo: Message Monitor

Nível de log TRACE no SAP CPI: por que ele desliga e como mantê-lo ligado com segurança

Por que o nível de log TRACE do SAP CPI volta atrás depois de cerca de 10 minutos, o que ele guarda e por quanto tempo, os riscos em produção e como mantê-lo só enquanto você trabalha.

Nível de log TRACE no SAP CPI: por que ele desliga e como mantê-lo ligado com segurança

Você define o nível de log de um iFlow como Trace, testa outra coisa por quinze minutos, envia a mensagem que importa e o trace está vazio. O SAP Cloud Integration (SAP CPI) baixou o nível sem avisar. Isso é intencional e, quando você entende o porquê, as regras para usar o TRACE vêm naturalmente.

Este artigo explica o que cada nível de log guarda, por que o TRACE expira, como usá-lo com segurança e como mantê-lo ligado exatamente pelo tempo em que você trabalha.

Os níveis de log e o que o TRACE acrescenta

Nível de logO que é guardado de cada mensagem
InfoO status geral, os tempos e o erro, se houver
DebugUma entrada para cada etapa que a mensagem executou
TraceO mesmo que Debug, mais o body, os headers e as exchange properties antes de cada etapa

O nível é definido no iFlow implantado, então vale para todas as mensagens que esse iFlow processa enquanto ele está definido.

Por que o TRACE se desliga sozinho

O TRACE grava o payload, os headers e as propriedades de cada etapa no banco de dados do tenant. Em um iFlow movimentado, isso é muito dado, e pode incluir conteúdo pessoal ou confidencial. Por isso o SAP o limita no tempo: o nível TRACE vale por cerca de 10 minutos, depois dos quais o iFlow volta para um nível mais baixo, e o conteúdo do trace em si é guardado por cerca de uma hora.

Um tenant também pode ser configurado para não permitir TRACE de forma alguma. Nesse caso, ativá-lo falha, seja quem for que tente.

Ativando o TRACE manualmente

  1. No monitor, abra Manage Integration Content e selecione o iFlow implantado.
  2. Na configuração de log dele, defina o nível de log como Trace.
  3. Envie suas mensagens de teste nos 10 minutos seguintes e leia os traces delas dentro de uma hora.
  4. Em uma sessão mais longa, defina Trace de novo a cada 10 minutos.

Usando o TRACE com segurança

import com.sap.gateway.ip.core.customdev.util.Message

def Message processData(Message message) {
    // Set the exchange property logPayload to "true" (for example from an
    // externalized parameter) only while you investigate.
    if (message.getProperty("logPayload") == "true") {
        def log = messageLogFactory.getMessageLog(message)
        log?.addAttachmentAsString("Payload before mapping", message.getBody(String), "text/plain")
    }
    return message
}
  • Prefira dados de teste. O trace de uma mensagem de produção guarda os dados daquele cliente no tenant por uma hora.
  • Em produção, rastreie pelo menor tempo que responda à pergunta e siga as regras de aprovação da sua empresa.
  • Não deixe Debug nem Trace como nível de log configurado de um iFlow: toda mensagem paga por isso.
  • Não escreva senhas nem tokens em headers ou propriedades, onde um trace os mostraria.
  • Quando você precisar de um payload no log regularmente, anexe-o ao log de processamento da mensagem a partir de um script, e só enquanto um interruptor estiver ligado:

Mantenha o TRACE ligado só enquanto você trabalha

No Kitegra, o painel “Mensagens” do iFlow aberto tem um interruptor que mostra “Trace: desligado”. Um clique define o nível de log como TRACE. Enquanto o interruptor está ligado e uma aba do designer daquele iFlow está aberta, a extensão define o TRACE de novo a cada 9 minutos, antes que o SAP o derrube, e para 20 minutos depois da sua última atividade no iFlow. Desligar restaura o nível que o iFlow tinha antes. O estado sobrevive a um recarregamento da página, e Alt+Shift+R o alterna pelo teclado.

Ela recusa com uma mensagem clara quando o iFlow não está implantado no runtime escolhido, quando o tenant não permite TRACE ou quando “Permitir ações que alteram o tenant” está desativado nas opções.

Para ler o que o trace registrou, veja como rastrear uma mensagem etapa por etapa no diagrama.

Como o Kitegra ajuda

O Trace é uma das quatro ações do Kitegra que alteram o seu tenant, e só é executado quando você clica nele. Antes do go-live, a verificação de design “Nível de log detalhado” do iFlow Inspector aponta um iFlow cujo nível de log configurado rastrearia ou depuraria todas as mensagens; o checklist de revisão de iFlows a cobre junto com as outras verificações.

O Helper, o Message Monitor, o iFlow Inspector e o iFlow Docs contam, cada um, os iFlows em que você os usa: 5 por módulo sem uma conta Kitegra, 50 no plano Free, 100 no Starter e 300 no Pro; o Business não tem limite. A Toolbox e os extras do espaço de trabalho são gratuitos. Compare os planos.

Experimente no seu próximo iFlow

Veja o que o Kitegra acrescenta ao redor do designer do SAP Integration Suite, ou confira-o ao lado das outras extensões do Chrome da Kitegra.

Perguntas frequentes

Por que o TRACE se desliga sozinho no SAP CPI?

O TRACE armazena o payload de cada etapa no tenant. Para limitar os dados, o SAP mantém o nível TRACE por cerca de 10 minutos e o conteúdo do trace por cerca de uma hora.

Por quanto tempo os dados do trace são guardados?

Cerca de uma hora. Depois disso, o log da mensagem continua, mas o body, os headers e as propriedades rastreados somem.

É seguro usar TRACE em produção?

Ele armazena payloads reais no tenant, então use-o pelo menor tempo que responda à sua pergunta, com dados de teste sempre que puder e de acordo com as regras da sua empresa.

Qual é a diferença entre Debug e Trace?

O Debug registra uma entrada para cada etapa. O Trace acrescenta o body, os headers e as exchange properties antes de cada etapa.

Por que ativar o TRACE falha no meu tenant?

O tenant pode não permitir TRACE, o iFlow pode não estar implantado naquele runtime ou o seu usuário pode não ter o papel necessário. Na extensão, as ações sobre o tenant também podem estar desativadas nas opções.

A extensão mantém o TRACE ligado depois que eu paro de trabalhar?

Não. Ela renova o TRACE apenas enquanto o interruptor está ligado e você trabalha no iFlow, e para 20 minutos depois da sua última atividade.

Trabalhe em iFlows sem sair do designer

Adicione o Kitegra ao Chrome ou ao Microsoft Edge. Comece grátis, sem precisar de conta.