在过去的两天里,我一直被困住,想知道如果他们存储了我的rails应用程序日志的存储位置是什么?
我正在使用一个Opsworks堆栈,这个堆栈并非由我设置,而且我找不到任何相关文章,我遇到了这些
How to debug Ruby On Rails on AWS OpsWorks?
https://medium.com/quiq-blog/logging-in-aws-elastic-container-services-ecs-21ce7781be18
但所有这些看起来都很复杂或无关紧要。
我的猜测是有一个名为awslogs的代理设置,它从日志目录中获取日志。我的test.rb使用以下代码配置
if ENV["RAILS_LOG_TO_STDOUT"].present?
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
end
从这一点开始,日志被重定向到stdout,不知何故,代理将它们接收并将它们发送到云监视器。我不是百分百的配置,甚至存储它们。
/ opt / aws / cloudwatch中有一些配置有一个名为awslogs-agent-setup.py的脚本和一个cwlogs.cfg文件,该文件包含代理的配置,但这些配置适用于我的应用运行的容器不是rails app本身。这是cwlogs.cfg文件的配置
[general]
state_file = /var/awslogs/state/agent-state
[<my-cluster-name>/ecs-cluster/opsworks-command-log
/var/lib/aws/opsworks/chef/*.log]
log_stream_name = ecs-cluster2
file = /var/lib/aws/opsworks/chef/*.log
log_group_name = <Log group for this cluster>
我愿意向可以帮助我解决问题的任何人提供进一步的信息。
提前致谢。