簡體   English   中英

帶有ASP.NET的AWS Elastic Beanstalk實例日志

[英]AWS Elastic Beanstalk Instance Logs with ASP.NET

我有一個在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在我的項目(如描述在這里 ),並將它復制到輸出(我已經驗證了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\\ ),但我一直收到相同的錯誤。

關於我在做什么錯的任何想法嗎?

我找到了問題的根源,我需要為日志要進入的文件夾設置寫權限。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM