【问题标题】:AWS Elastic Beanstalk Instance Logs with ASP.NET使用 ASP.NET 的 AWS Elastic Beanstalk 实例日志
【发布时间】:2017-04-04 07:07:21
【问题描述】:

我有一个在 AWS Elastic Beanstalk 上运行的 ASP.NET 应用程序。该网站运行正常,但我无法配置 AWS 尾日志以获取 log4net 日志文件。

我正在使用 log4net 将日志输出到文件,如下所示。

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
  <file value="C:\testlog.log" />
  <appendToFile value="true" />
  <maximumFileSize value="5MB" />
  <maxSizeRollBackups value="2" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date %level %thread %logger - %message%newline" />
  </layout>
</appender>

我在我的项目中创建了.ebextensions\testlog.config(如here 所述)并将其复制到输出中(我已验证 AWS 在 AWS 控制台事件日志中创建了该文件)。

files:
  "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/testlog.conf" :
    content: |
      C:\testlog.log

当我尝试获取日志(日志 -> 请求日志 -> 最后 100 行 -> 下载)时,我看到此错误:

Faulting application path: c:\Program   Files\Amazon\ElasticBeanstalk\Tools\TailLogs.exe
Faulting module path: C:\Windows\SYSTEM32\KERNELBASE.dll
Report Id: df345c3f-af75-11e6-8155-06f0078a1fb7
Faulting package full name: 
Faulting package-relative application ID: 
2016-11-20T23:05:48.000Z Error 0:(0) .NET Runtime - Application: TailLogs.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentException
   at System.IO.Path.LegacyNormalizePath(System.String, Boolean, Int32, Boolean)
   at System.IO.Path.NormalizePath(System.String, Boolean, Int32, Boolean)
   at System.IO.Path.GetFullPathInternal(System.String)
   at System.IO.DirectoryInfo.Init(System.String, Boolean)
   at System.IO.DirectoryInfo..ctor(System.String)
   at AWSBeanstalkCfnUtility.LogInfo.GetLogFiles(System.String)
   at AWSBeanstalkCfnUtility.FileUtil.scanLogDirectories(System.IO.TextWriter, System.Collections.Generic.IEnumerable`1<AWSBeanstalkCfnUtility.LogInfo>)
   at AWSBeanstalkCfnTailLogsApp.Program.Main(System.String[])

我尝试登录到不同的文件路径(C:\inetpub\logs\、C:\Program Files\Amazon\ElasticBeanstalk\logs\),但我一直收到同样的错误。

关于我做错了什么有什么想法吗?

【问题讨论】:

    标签: windows amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    我找到了问题的原因,我需要设置日志要进入的文件夹的写入权限。

    container_commands:
      01-changeperm:
        command: icacls.exe c:\\inetpub\\logs /grant "IIS AppPool\DefaultAppPool":(OI)(CI)M > c:\\cfn\\perms.log 2>&1
        waitAfterCompletion: 0
    
    files:
      "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/applog.conf":
        content: |
          C:\inetpub\logs\app.log
    

    【讨论】:

      猜你喜欢
      • 2019-02-11
      • 2015-01-14
      • 2015-12-21
      • 2015-12-14
      • 2015-02-17
      • 2023-04-06
      • 2013-04-23
      • 2017-09-22
      • 2021-03-22
      相关资源
      最近更新 更多