【发布时间】: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