log4net没有附加到天蓝色的Blob

时间:2019-04-29 11:21:45

标签: c# azure log4net azure-storage-blobs

我想将日志追加到天蓝色的Blob存储中。因此,我添加了名为log4net.appender.azure的nuget程序包。

在app.config中写以下内容

<log4net>

<root>
  <level value="ALL" />
  <appender-ref ref="AzureBlobAppender" />

</root>

<appender name="AzureBlobAppender" type="log4net.Appender.AzureBlobAppender, log4net.Appender.Azure">
  <param name="ContainerName" value="myConatiner"/>
  <param name="DirectoryName" value="myFolder/logs.txt"/>

  <param name="ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=XXXX;AccountKey=Ngqa/KvLxL4zpxdPDv8Opm29JCOXTJuJsF8FrzFQZpWCOcoFm1EI+mvFu+7AJvaWEU3jDffYrf4rGOKPJu/ObA==;EndpointSuffix=core.windows.net" />
  <param name="AsText" value="true" />
</appender>

这是我定义连接字符串的方式

<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

然后我在下面的课程文件中写了

 log4net.ILog log =
        log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    log.Info("I am being tested");

但是当我运行程序时,我看不到任何东西记录在天蓝色的blob中。我想念什么?

1 个答案:

答案 0 :(得分:0)

在我看来,您的配置有误。根据{{​​3}} ...

中的示例
<appender name="AzureBlobAppender" type="log4net.Appender.AzureBlobAppender, log4net.Appender.Azure">
  <param name="ContainerName" value="testloggingblob"/>
  <param name="DirectoryName" value="logs"/>
  <!-- You can either specify a connection string or use the ConnectionStringName property instead -->
  <param name="ConnectionString" value="UseDevelopmentStorage=true"/>
  <!--<param name="ConnectionStringName" value="GlobalConfigurationString" />-->
  <param name="AsText" value="true" />
</appender>
  • myContainer应该是ContainerName
  • MyFolder应该是DirectoryName
  • AzureBlobConnectionString应该是ConnectionStringName