首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CloudWatch的log4net,无法在控制台中查看我的日志

使用CloudWatch的log4net,无法在控制台中查看我的日志
EN

Stack Overflow用户
提问于 2018-03-21 01:43:09
回答 2查看 3.7K关注 0票数 2

我使用的是Here中的示例

我的log4net配置如下所示:

代码语言:javascript
复制
    <configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
<log4net debug="true">
  <appender name="AWS" type="AWS.Logger.Log4net.AWSAppender,AWS.Logger.Log4net">
    <LogGroup>MY_Logs</LogGroup>    
    <Region>us-west-2</Region>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%-4timestamp [%thread] %-5level %logger %ndc - %message%newline" />
    </layout>
  </appender>
  <root>
    <level value="ALL"/>
    <appender-ref ref="AWS" />
  </root>
</log4net>
</configuration>

我的app.config:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="AWSProfilesLocation" value="awscredentials" />
    <add key="AWSRegion" value="us-west-2" />
  </appSettings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

我的磨牙

代码语言:javascript
复制
[default]
aws_access_key_id=[my_id]
aws_secret_access_key=[my_access_key]

以下是我的控制台应用程序上的调试信息:

代码语言:javascript
复制
  log4net: Configuration update mode [Merge].
log4net: Logger [root] Level string is [ALL].
log4net: Logger [root] level set to [name="ALL",value=-2147483648].
log4net: Loading Appender [AWS] type: [AWS.Logger.Log4net.AWSAppender,AWS.Logger
.Log4net]
log4net: Setting Property [LogGroup] to String value [MY_Logs]
log4net: Setting Property [Region] to String value [us-west-2]
log4net: Converter [message] Option [] Format [min=-1,max=2147483647,leftAlign=F
alse]
log4net: Converter [newline] Option [] Format [min=-1,max=2147483647,leftAlign=F
alse]
log4net: Setting Property [ConversionPattern] to String value [%-4timestamp [%th
read] %-5level %logger %ndc - %message%newline]
log4net: Converter [timestamp] Option [] Format [min=4,max=2147483647,leftAlign=
True]
log4net: Converter [literal] Option [ [] Format [min=-1,max=2147483647,leftAlign
=False]
log4net: Converter [thread] Option [] Format [min=-1,max=2147483647,leftAlign=Fa
lse]
log4net: Converter [literal] Option [] ] Format [min=-1,max=2147483647,leftAlign
=False]
log4net: Converter [level] Option [] Format [min=5,max=2147483647,leftAlign=True
]
log4net: Converter [literal] Option [ ] Format [min=-1,max=2147483647,leftAlign=
False]
log4net: Converter [logger] Option [] Format [min=-1,max=2147483647,leftAlign=Fa
lse]
log4net: Converter [literal] Option [ ] Format [min=-1,max=2147483647,leftAlign=
False]
log4net: Converter [ndc] Option [] Format [min=-1,max=2147483647,leftAlign=False
]
log4net: Converter [literal] Option [ - ] Format [min=-1,max=2147483647,leftAlig
n=False]
log4net: Converter [message] Option [] Format [min=-1,max=2147483647,leftAlign=F
alse]
log4net: Converter [newline] Option [] Format [min=-1,max=2147483647,leftAlign=F
alse]
log4net: Setting Property [Layout] to object [log4net.Layout.PatternLayout]
log4net: Creating repository for assembly [AWSSDK.Core, Version=3.3.0.0, Culture
=neutral, PublicKeyToken=885c28607f98e604]
log4net: Assembly [AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken
=885c28607f98e604] Loaded From [C:\Users\stal\documents\visual studio 2017\Proje
cts\ConsoleApp9\ConsoleApp9\bin\Debug\AWSSDK.Core.dll]
log4net: Assembly [AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken
=885c28607f98e604] does not have a RepositoryAttribute specified.
log4net: Assembly [AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken
=885c28607f98e604] using repository [log4net-default-repository] and repository
type [log4net.Repository.Hierarchy.Hierarchy]
log4net: repository [log4net-default-repository] already exists, using repositor
y type [log4net.Repository.Hierarchy.Hierarchy]
log4net: Creating repository for assembly [AWSSDK.CloudWatchLogs, Version=3.3.0.
0, Culture=neutral, PublicKeyToken=885c28607f98e604]
log4net: Assembly [AWSSDK.CloudWatchLogs, Version=3.3.0.0, Culture=neutral, Publ
icKeyToken=885c28607f98e604] Loaded From [C:\Users\stal\documents\visual studio
2017\Projects\ConsoleApp9\ConsoleApp9\bin\Debug\AWSSDK.CloudWatchLogs.dll]
log4net: Assembly [AWSSDK.CloudWatchLogs, Version=3.3.0.0, Culture=neutral, Publ
icKeyToken=885c28607f98e604] does not have a RepositoryAttribute specified.
log4net: Assembly [AWSSDK.CloudWatchLogs, Version=3.3.0.0, Culture=neutral, Publ
icKeyToken=885c28607f98e604] using repository [log4net-default-repository] and r
epository type [log4net.Repository.Hierarchy.Hierarchy]
log4net: repository [log4net-default-repository] already exists, using repositor
y type [log4net.Repository.Hierarchy.Hierarchy]
log4net: Created Appender [AWS]
log4net: Adding appender named [AWS] to logger [root].
log4net: Hierarchy Threshold []

我在调试信息中没有看到任何异常。

查看我的aws cloudwatch控制台,我没有看到组My_Logs。

我有查看/写入cloudwatch的权限。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2019-01-08 01:31:19

我遇到了一个类似的问题,我的log4net日志没有写入CloudWatch,尽管它看起来配置是正确的。我可以通过将以下内容添加到附加器节点来启用AWS.Logger.Log4net的日志记录功能,从而找到问题(在我的示例中,我缺少一些配置设置

代码语言:javascript
复制
<LibraryLogFileName>c:\logs\awslog.txt</LibraryLogFileName>

因此,在您的示例中,新的配置部分将如下所示

代码语言:javascript
复制
<appender name="AWS" type="AWS.Logger.Log4net.AWSAppender,AWS.Logger.Log4net">
 <LogGroup>MY_Logs</LogGroup>    
 <Region>us-west-2</Region>
 <layout type="log4net.Layout.PatternLayout">
   <conversionPattern value="%-4timestamp [%thread] %-5level %logger %ndc - %message%newline" />
 </layout>
 <LibraryLogFileName>c:\logs\awslog.txt</LibraryLogFileName>
</appender>

只需确保快速检查日志文件,在我的例子中,它的大小增加得相当快。希望日志文件中的错误消息能为您指出问题所在。

票数 4
EN

Stack Overflow用户

发布于 2018-03-21 23:21:33

根据documentation的说法:

为了将配置数据嵌入到.config文件中,必须使用configSections元素向.NET配置文件解析器标识节名。该节必须指定将用于解析配置节的log4net.Config.Log4NetConfigurationSectionHandler。

它在您的配置文件中缺失。因此,添加以下内容:

代码语言:javascript
复制
<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49390918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档