【发布时间】:2018-08-24 16:15:55
【问题描述】:
我在我的 C# 应用程序中使用 log4net 来记录应用程序运行时的步骤。在调试时,我没有看到任何内容记录到文件中。下面是配置文件。
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{ABSOLUTE} [%thread] %level - %message%newline%exception"/>
</layout>
</appender>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Users\dv\Desktop\Logs\API.log"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="5"/>
<maximumFileSize value="100KB"/>
<staticLogFileName value="true"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{ISO8601} [%thread] %level - %message%newline%exception"/>
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="FileAppender"/>
</root>
</log4net>
以下是我的日志记录方式。
if (jrGet == null)
{
jrForCore = mergeJrForUpdate(fromJaxStrain, new JrNumberGet());
path = ConfigurationManager.AppSettings["PostResourceString"];
var url = await CreateProductAsync(path, jrForCore);
logger.Info("Created : " + fromJaxStrain.Barcode);
}
【问题讨论】:
-
什么是
jrGet?是否为空? -
当您不调试或使用发布版本时,应用程序是否会记录?
-
由于日志存储在用户目录中 - 如果不使用提升的权限运行,它是否可能无法写入该位置?
-
你是如何创建记录器的?
标签: c# log4net log4net-configuration log4net-appender