2016-11-20 68 views
0

私は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\)でも同じエラーが発生します。

私が間違っていることに関するアイデアはありますか?

答えて

0

問題の原因がわかりましたので、ログが書き込まれるフォルダへの書き込み権限を設定する必要がありました。

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 
関連する問題