我正在尝试使用Amazon ElasticBeanStalk托管我的.Net应用程序,但似乎无法正常访问或设置我的应用程序日志文件。
我目前正在使用Nlog从我的应用程序中进行登录,但我不知道如何访问该日志文件。
我是AWS ElasticBeanStalk的新手,所以我希望有人可以帮我处理应用程序日志。
答案 0 :(得分:3)
当我联系AWS支持人员询问如何最好地在Elastic Beanstalk上的ASP.NET核心应用程序中记录内容时,我收到了回复,指出无法集成基于Windows的Elastic Beanstalk应用程序'使用实际的Elastic Beanstalk日志进行日志记录,并建议我使用CloudWatch日志记录:
您好,
beanstalk日志使用它自己的逻辑来收集日志。在里面 linux verison它可以简单地将文件添加到路径中 日志记录,但在Windows中,日志是单独收集的 因为他们使用不同类型的日志驱动程序来收集日志, 因此,无法简单地将文件添加到路径中并查看 它们出现在beanstalk日志中。
您可以使用内置beanstalk日志记录而不是使用内置beanstalk日志记录 cloudformation [sic] 记录。
http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html
有了这个,您应该能够设置一个允许您使用的记录器 将日志直接发送到亚马逊云观察日志。
致以最诚挚的问候,
以利亚。亚马逊网络服务
上面提到的文档老实说对我来说并不是特别有帮助。但是,有许多代码示例在https://github.com/aws/aws-logging-dotnet登录到CloudWatch,这可能比文档更有用。特别是,我发现使用默认ASP.NET Core日志框架的示例很有帮助,并且已经详细记录了如何让ASP.NET Core ILogger
在https://stackoverflow.com/a/46146001/1709587登录CloudWatch
答案 1 :(得分:1)
有几种可能性:
我们从1开始,然后尝试3.但最后我们转到2,因为它确实给了我们许多优势。许多日志服务器都使用本地(在EB实例上)安装的服务;这是每次部署应用程序时需要正确配置的东西,而不是总是那么容易。使用graylog的当前设置,它只是Web.config或App.Config中的配置项。并且,至少对于log4net来说,它非常容易使用,当从1移动到3时,我们不必更改一行代码。设置graylog服务器非常简单并且AMI存在。