Configurar logging
Você não precisa criar uma fonte de log para enviar logs da integração AppSignal for Ruby. Uma fonte de log “application” será criada automaticamente.Rails Logger
Você pode configurar o framework Rails para enviar logs ao AppSignal em um arquivo de inicializador comoconfig/initializers/logging.rb:
Usando múltiplos backends de logging
Para enviar logs tanto para o logger do AppSignal quanto para o logger padrão do Rails, use o helper.broadcast_to do nosso logger:
Suporte a tagged logging
O uso deActiveSupport::TaggedLogging nos exemplos acima habilita o suporte às tags de log do Rails. Por exemplo, se você quiser adicionar a tag request ID às mensagens de log, adicione-a ao array config.log_tags no arquivo config/application.rb:
Usando o Lograge
A biblioteca Lograge é uma solução popular para ingerir logs estruturados de requisições do Rails. Depois de adicionar a gemlograge, você pode configurá-la em config/initializers/lograge.rb para enviar logs ao AppSignal:
Sinatra Logger
Você pode configurar o Sinatra para enviar logs de requisições ao AppSignal usando o middleware CommonLogger do Rack. Configure-o como mostrado abaixo. Considere se os logs de requisições contêm informações úteis para você, leia nosso artigo do learning center what logs should I store.Usando múltiplos backends de logging
Para enviar logs tanto para o logger do AppSignal quanto para oSTDOUT, use o helper .broadcast_to do nosso logger:
Sidekiq Logger
Você pode configurar o Sidekiq para enviar seus logs ao AppSignal, incluindo os logs emitidos pelos seus jobs em segundo plano:Usando múltiplos backends de logging
Para enviar logs tanto para o logger do AppSignal quanto para oSTDOUT, use o helper .broadcast_to do nosso logger:
Ruby Logger
Para enviar logs ao AppSignal como você faria com a classeLogger do Ruby, você precisa criar uma instância de Appsignal::Logger e fornecer um groupname que define de onde você está fazendo o log. Por exemplo, se estivéssemos fazendo log a partir de um helper para faturamento de clientes:
Usando múltiplos backends de logging
Para enviar logs tanto para o logger do AppSignal quanto para oSTDOUT, use o helper .broadcast_to do nosso logger:
Semantic Logger
A biblioteca Semantic Logger fornece uma solução abrangente de logging para aplicações Ruby e Rails. Depois de adicionar a gemsemantic_logger, você pode configurá-la para enviar logs ao AppSignal da seguinte maneira:
Usando múltiplos backends de logging
Para enviar logs tanto para o logger do AppSignal quanto para oSTDOUT, adicione outro appender usando o método add_appender:
Uso
Enviando logs
Assim como a classeLogger do Ruby/Rails, você pode definir o nível de severidade dos seus logs usando fatal, error, warn, info e debug:
Atributos padrão do logger
Ao inicializar o AppSignal logger, você pode fornecer atributos padrão que serão incluídos em todas as mensagens de log:Formatos
Formato detectado automaticamente
A gem AppSignal for Ruby vai detectar automaticamente o formato da linha de log como JSON, Logfmt ou plaintext por padrão, e fará o parsing dos atributos a partir disso. Você não precisa definir manualmente o formato do log, a não ser que ele não esteja sendo detectado corretamente. Por favor, também nos avise se isso não estiver funcionando automaticamente.Logfmt
O AppSignal Logger pode ser configurado explicitamente para esperar que a linha esteja formatada como Logfmt e fazer o parsing dos atributos a partir dela. Use essa opção quando estiver usando uma versão mais antiga da gem AppSignal for Ruby, que não suporta a detecção automática de formato. O formato de log pode ser especificado ao criar um logger. Ao inicializar o AppSignal logger, passe a constante Logfmt na opção format.JSON
O AppSignal Logger pode ser configurado explicitamente para esperar que a linha esteja formatada como JSON e fazer o parsing dos atributos a partir dela. Use essa opção quando estiver usando uma versão mais antiga da gem AppSignal for Ruby, que não suporta a detecção automática de formato. O formato de log pode ser especificado ao criar um logger. Ao inicializar o AppSignal logger, passe a constante JSON na opção format.Filtrando logs
Você pode usar a opção de configuraçãoignore_logs para ignorar linhas de log. Veja nosso guia Ignore Logs para saber mais.