私はASP.NETアプリケーションをAWS Elastic Beanstalk上で実行しています。ウェブサイトは正しく動作していますが、AWSテールログを設定してlog4netログファイルを取得する際に問題があります。AWS Elastic BeanstalkのインスタンスログとASP.NET
私は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>
(hereを説明するように)私は自分のプロジェクトで.ebextensions\testlog.config
を作成したのだが、(私は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\
)でも同じエラーが発生します。
私が間違っていることに関するアイデアはありますか?