我想将日志追加到天蓝色的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中。我想念什么?
答案 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