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.

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 log | O que é guardado de cada mensagem |
|---|---|
| Info | O status geral, os tempos e o erro, se houver |
| Debug | Uma entrada para cada etapa que a mensagem executou |
| Trace | O 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
- No monitor, abra Manage Integration Content e selecione o iFlow implantado.
- Na configuração de log dele, defina o nível de log como Trace.
- Envie suas mensagens de teste nos 10 minutos seguintes e leia os traces delas dentro de uma hora.
- 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.