Como ver detalhes completos do log sem truncar

De repente, todos os meus e-mails estão sendo rejeitados. Preciso do registro completo com todos os detalhes. A visualização no Discourse está truncada com reticências (…). Como posso ver a entrada inteira? É urgentemente necessário para ajudar a resolver isso.

Reporting-MTA: dsn; a27-22.smtp-out.us-west-2.amazonses.com

Action: failed
Final-Recipient: rfc822; keith.jones@du.edu
Diagnostic-Code: smtp; 554 Bloqueado - consulte https://ipcheck.proofpoint.com/?ip=54.240.27.22
Sta…

Você precisa verificar os logs do seu servidor de e-mail. Parece que o Discourse está enviando os e-mails, mas o servidor de e-mail não quer entregá-los.

Estou perdido aqui. Uso o Amazon SES para e-mail. Fiz login no bash do container e não sei onde encontrar os logs de e-mail do Discourse. Não consigo ver nada relevante em /var/log. Peço desculpas por ser completamente ignorante. Consegui pelo menos ver os logs na URL /logs do Discourse, mas por que não consigo encontrá-los no disco? Eles estão em um banco de dados?

Olá @Andro

No Discourse, o Rails Action Mailer envia os e-mails após serem agendados como uma tarefa do Sidekiq.

Normalmente, alguns erros de exceção de tarefa são registrados no log de produção do Rails, por exemplo.

linux# docker exec -it your-app bash
your-app:/# cd /shared/log/rails


your-app:/shared/log/rails# grep -i SMTP *

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. m7sm3825233oou.11 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. 63sm3561399otx.2 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. z63sm4258403otb.20 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. q18sm3815880ood.35 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. h2sm4265076otn.15 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. y84sm4346372oig.36 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. 8sm4343514oii.45 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. t18sm722516otc.64 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. j22sm1840062otp.45 - gsmtp

Portanto, você pode encontrar algumas pistas no seu log de produção do Rails, conforme ilustrado acima.

Abraços e espero que isso ajude.

PS: Outra pequena coisa para verificar e talvez não seja útil no seu caso de uso é executar no console do Rails:

EmailLog.where(bounced:true).count

ou ainda mais simplesmente:

EmailLog.bounced.count

Além disso, esqueci de mencionar que você pode configurar o Rails para registrar mais informações do mailer, se precisar de mais logs:

Existem várias configurações disponíveis em config.action_mailer:

config.action_mailer.logger aceita um logger que segue a interface do Log4r ou a classe Logger padrão do Ruby, que é então usada para registrar informações do Action Mailer. Defina como nil para desativar o registro.

No Discourse, fora da caixa (OOTB), isso está definido como nil, sem registro:

[5] pry(main)> Rails.application.config.action_mailer.logger
=> nil

Veja, por exemplo, a seção 3.10 Configurando o Action Mailer

O problema é que estamos usando o Amazon Simple Email Service (SES) e não consigo encontrar nenhuma maneira de visualizar os logs lá. Acredito que os logs simplesmente não estão disponíveis como parte do serviço.

Olá @neounix, muito obrigado. Consegui ver os detalhes completos do e-mail nos arquivos de log de produção datados. Posso ver a resposta completa da Amazon SES. É exatamente o que eu preciso. Muito útil. Agradeço imensamente.

Caro @Andro,

De nada. Fico feliz por ter podido ajudar você a chegar à raiz do seu problema.

Boas Festas e sempre em frente e para cima!