我有一个Elastic Beanstalk应用程序,它在Windows环境中通过IIS运行.Net应用程序。我想让我的自定义日志显示在AWS CloudWatch中。
该应用在其静态类之一中使用Serilog记录器。当我转到端点路径时(例如“ / api / log-a-message”),记录器将输出一条消息。日志被写入文件“ C:\ LogsFolder \ LogFile.log”。
[进行一些在线搜索并阅读其他问题和AWS文档之后。我最终写了一个.ebextensions/log_configuration.conf
,内容如下:
### BEGIN .ebextensions/CloudWatch.config
files:
"C:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/":
content: |
[ZeW logs]
log_group_name = `{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "Serilog"]]}`
log_stream_name = {instance_id}
file = C:/LogsFolder/LogFile.log
### END .ebextensions/CloudWatch.config
但是日志仍未出现在CloudWatch中。
我几乎做到了。...因此,事实证明,对于AWS CloudWatch,您需要以JSON格式附加配置。