As configurações de logs no contexto configuram o encaminhamento de logs de aplicativo, a decoração de logs e o comportamento de logging do próprio agente.
A partir da versão do agente Java 7.6.0, o suporte para logs contextualizados foi adicionado ao agente, facilitando o uso da estrutura de log suportada. Para obter dicas sobre como usar o agente Java para logs contextualizados, consulte logs contextualizados do Java.
A alteração dessas configurações no arquivo de configuração do agente local ocorre de forma dinâmica e não requer a reinicialização do agente para que essas alterações entrem em vigor. Um exemplo de configuração:
application_logging:
enabled:true
forwarding:
enabled:true
max_samples_stored:10000
labels:
enabled:false
exclude:
context_data:
enabled:false
include:
exclude:
log_level_denylist: debug
metrics:
enabled:true
local_decorating:
enabled:false
Defina a configuração logs contextualizados na seção application_logging . Isso pode ser substituído por uma propriedade de sistema com prefixo newrelic.config.application_logging . A única opção disponível é:
Tipo
Boleano
Padrão
true
Defina como true para ativar o recurso principal de logs contextualizados. Quando habilitado, a instrumentação adicional framework de log é habilitada, independentemente de os logs serem decorados ou enviados para o New Relic ou não.
Importante
As versões 7.7.0 e superiores do agente têm esse recurso ativado no arquivo de configuração do agente por padrão.
Defina como false para desativar completamente esse recurso, incluindo a coleta de métricas log .
Encaminhamento de logs
Se você estiver usando uma framework de registro compatível e quiser usar o agente para enviar o registro do aplicativo para o New Relic, poderá controlar isso por meio das configurações na seção forwarding. Essas configurações podem ser substituídas pela propriedade de sistema prefixada newrelic.config.application_logging.forwarding . As opções disponíveis são:
Tipo
Boleano
Padrão
true
Habilita o envio de log do aplicativo para New Relic.
Importante
As versões 7.7.0 e superiores do agente têm esse recurso ativado no arquivo de configuração do agente por padrão.
Usar o recurso de encaminhamento de logs aumentará a ingestão de dados, o que pode afetar seu faturamento. Para obter mais informações, consulte nossa documentação sobre como rastrear a ingestão de dados.
Se você tiver uma solução de encaminhamento de logs existente e estiver atualizando seu agente para usar o logs contextualizados automáticos, certifique-se de disable your old log forwarder. Caso contrário, seu aplicativo enviará linhas de log duplas. Dependendo da sua conta, isso pode resultar em cobrança dupla. Para obter mais informações, siga os procedimentos para desabilitar seu direcionador de logs específico.
Defina como true para que seu registro decorado seja enviado para a New Relic.
Defina como false se não quiser que seu registro decorado seja enviado para a New Relic.
Tipo
Inteiro
Padrão
10000
Um número inteiro positivo que especifica o número máximo de linhas de log por minuto a serem enviadas.
Defina como 0 para desativar efetivamente o envio de log.
Importante
Isso controla o número de logs enviados por minuto. Definir max_samples_stored como 0 - ou qualquer valor menor que 12 - não desativa o recurso em si, embora resulte no envio de nenhuma linha log para o New Relic.
Defina um valor mais baixo para reduzir a quantidade de linhas de log enviadas (pode causar amostragem de log). Defina um valor mais alto para enviar mais linhas de log.
Cada log recebe a mesma prioridade que sua transação associada. log que ocorrem fora de uma transação receberão uma prioridade aleatória. Alguns registros podem não ser incluídos porque são limitados por max_samples_stored. Por exemplo, se o registro em log max_samples_stored estiver definido como 10.000 e a transação 1 tiver 10.000 entradas de log, somente as entradas de log da transação 1 serão registradas. Se a transação 1 tiver menos de 10.000 logs, você receberá todos os logs da transação 1. Se ainda houver espaço, você receberá todo o log da transação 2 e assim por diante.
Se após todos os logs de transação amostrados forem registrados, e eles não atingirem o limite em max_samples_stored, então será enviada a mensagem do log de transação amostrada que não estava em nossa amostragem. Se sobrar alguma, as mensagens do log fora da transação serão registradas.
Etiquetas de log (tag)
O agente Java suporta a adição de rótulos personalizados (tag) aos logs encaminhados pelo agente. Os rótulos são obtidos da seção de rótulos no nível superior da configuração do agente. Este recurso pode ser habilitado na seção labels , aninhada na seção forwarding . Você pode substituir essas configurações usando a propriedade de sistema prefixada newrelic.config.application_logging.forwarding.labels . As opções disponíveis incluem:
Tipo
Boleano
Padrão
false
Alterna se o agente adicionará rótulos aos logs encaminhados para o New Relic.
Tipo
Lista de strings
Padrão
(nenhum)
Uma lista de nomes de rótulos que não diferenciam maiúsculas de minúsculas a serem excluídos quando os rótulos para logs estiverem habilitados. Este atributo não suporta curingas ou regex.
Importante
Ao adicionar rótulos como atributo, o agente prefixa as chaves com tags.. Este prefixo NÃO é incluído na correspondência com as regras de filtragem de exclusão.
Log dados de contexto
O agente Java pode capturar dados de contexto (Mapped Diagnostic Context em logback/slf4j, ThreadContext em log4j2) e adicionar seu conteúdo como atributo no log encaminhado para New Relic. Você pode controlar isso por meio das configurações na seção context_data , aninhada na seção forwarding . Essas configurações podem ser substituídas pela propriedade de sistema prefixada newrelic.config.application_logging.forwarding.context_data . As opções disponíveis são:
Tipo
Boleano
Padrão
false
Defina isto como true envio de dados de contexto como atributo log para New Relic.
Defina como false se não desejar que os dados de contexto no log sejam enviados para o New Relic.
Tipo
Lista de strings
Padrão
(nenhum)
Se context_data estiver habilitado para encaminhamento de logs, todas as chaves de atributo encontradas nesta lista serão enviadas para New Relic nos registros de log. Se esta lista estiver vazia, todos os atributos serão enviados.
Tipo
Lista de strings
Padrão
(nenhum)
Se context_data estiver habilitado para encaminhamento de logs, todas as chaves de atributo encontradas nesta lista NÃO serão enviadas para New Relic nos registros de log.
A lista de inclusão e exclusão segue as regras Exclude overrides include, More specific rules take priority, Keys are case-sensitive e Use an asterisk for wildcards definidas nas regras de atributo.
Lista de Bloqueio de Nível de Log
O agente Java pode omitir níveis de log específicos na geração de LogEvents que são encaminhados para o New Relic.
Você pode controlar isso através da opção de configuração log_level_denylist, aninhada sob a seção forwarding. Esta configuração permite definir uma lista de strings separadas por vírgula representando níveis de log (por exemplo, log_level_denylist: "info, debug") que não devem ter eventos de log encaminhados. Os nomes de nível de log não diferenciam maiúsculas de minúsculas, mas, fora isso, devem ser uma correspondência exata. Essas configurações podem ser substituídas pela propriedade de sistema com prefixo newrelic.config.application_logging.forwarding.log_level_denylist. A única opção disponível é:
Tipo
Lista de strings
Padrão
(nenhum)
Log métrico
Além de permitir decorar e enviar linhas de log individuais, o agente Java pode capturar dados métricos de log. Você pode encontrar esses dados no gráfico de log na interface do New Relic. Você pode definir as configurações log métrica na seção metrics. Você pode substituir essas configurações pela propriedade de sistema prefixada newrelic.config.application_logging.metrics . A única opção disponível é:
Tipo
Boleano
Padrão
true
Possibilita a captura de informações métricas sobre seu log e nível de log, que são exibidas em gráfico na página Summary do APM.
Deixe definido como true para permitir que o agente capture informações métricas sobre seu log.
Defina como false para desativar esse recurso.
Importante
Se você desabilitar a coleta de log métrica, o gráfico de log na página de resumo aparecerá em branco.
Decoração log
Você pode definir as configurações de decoração log na seção local_decorating. Você pode usar isso para controlar como as linhas de log locais são decoradas. Você pode substituir essas configurações por uma propriedade de sistema com prefixo newrelic.config.application_logging.local_decorating . A única opção disponível é:
Tipo
Boleano
Padrão
false
Isto controla se as linhas de log armazenadas localmente são decoradas ou não. Isso independe de o encaminhamento de logs estar habilitado ou não e é usado para oferecer suporte a clientes que desejam usar uma solução separada de encaminhamento de logs.
Defina como true para fazer com que o agente adicione logs contextualizados vinculando metadados a linhas log armazenadas localmente pela estrutura suportada.
Importante
Ativar a decoração de log local adicionará metadados de link aos arquivos de log do aplicativo, resultando em um aumento no armazenamento em disco. Desative esse recurso se isso for inaceitável.
Não é necessário usar decoração de log local quando o encaminhamento de logs estiver habilitado. Fazer isso fará com que metadados de link sejam adicionados desnecessariamente à sua mensagem do log, o que pode distrair visualmente.
Defina como false para desativar o recurso de decoração local. Isso não afetará a decoração das linhas log enviadas para a New Relic.
Configuração de registro
Estas fazem parte das variáveis de configuração gerais. Eles são divididos aqui porque são frequentemente ajustados para depuração.
Algumas das variáveis de configuração de criação de log são dinâmicas e não precisam de reinicialização do host para que entrem em vigor. Por exemplo, se o arquivo de log estiver crescendo muito rapidamente, log_level poderá ser definido com uma configuração menos detalhada para reduzir a taxa de relatórios.
Aqui está a ordem de precedência e a explicação das variáveis de configuração que afetam a rotação log .
Se log_daily for true:
Um valor log_limit_in_kbytes maior que zero resultará em uma política de acionamento composta, onde o registro será rolado uma vez por dia ou quando o tamanho definido for atingido, retendo até log_file_count arquivos
Um valor log_limit_in_kbytes igual a zero resultará na rolagem de log uma vez por dia, retendo até log_file_count arquivos
Se log_daily for false e log_limit_in_kbytes > 0, será configurada uma política baseada em tamanho, onde o log será rolado quando o tamanho definido for atingido, retendo até log_file_count arquivos
Se log_daily for false e log_limit_in_kbytes = 0, nenhuma lógica contínua do arquivo de log será configurada
Dependendo da taxa de crescimento, é possível que o tamanho do arquivo de log exceda um pouco o valor configurado.
Tipo
Boleano
Padrão
false
Defina como true para rolar o registro diariamente.
Tipo
Inteiro
Padrão
1
O número máximo de arquivos de log a serem mantidos ao usar rotação de log.
Tipo
Corda
Padrão
newrelic_agent.log
O nome do arquivo de log não qualificado ou a string STDOUT que fará log na saída padrão.
Tipo
Corda
Padrão
logs subdiretório onde newrelic.jar está localizado
O caminho do arquivo de log.
Dica
Se log_file_path for especificado, o diretório já deverá existir. Se o valor padrão for utilizado, o agente tentará criar o diretório.
Tipo
Corda
Padrão
info
O nível de detalhamento do log. Quando você altera essa configuração no arquivo de configuração yaml do agente, ela será atualizada dinamicamente. No entanto, a variável de ambiente e a propriedade do sistema não serão atualizadas dinamicamente.
O agente usa seu próprio arquivo de log para manter seu registro separado do seu aplicativo. As opções válidas, em ordem de detalhamento, são:
off
severe
warning
info
fine
finer
finest
Cuidado
Não use o registro debug ou trace , a menos que o suporte da New Relic solicite que você os use. Esses níveis de registro em log podem gerar sobrecarga excessiva. Na maioria das situações, use info.
Essa configuração é dinâmica, portanto, a execução do agente notará alterações em newrelic.yml sem reiniciar a JVM.
Tipo
Inteiro
Padrão
0
O tamanho do arquivo de log em quilobytes no qual os arquivos de log são rotacionados. Defina como 0 sem limite.