我有一个控制台应用程序,我正在尝试使用log4net设置日志记录。 我已经完成了设置它的所有基本步骤 -
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<appSettings>
<add key="LogFileRootFolderPath" value="C:\TestApplicationLogs\"/>
</appSettings>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="TestApplication.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="14" />
<maximumFileSize value="15000KB" />
<datePattern value="yyyyMMdd" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="{%level}%date{MM/dd HH:mm:ss} - %message%newline"/>
</layout>
</appender>
<root>
<level value="All" />
<!-- You can use levels, in increasing order of verbosity: Off, Fatal, Error, Warn, Info, Debug, All -->
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
P.S。我在C:\
中创建了一个新文件夹'TestApplicationLogs'在AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
在Program.cs中
private static readonly log4net.ILog log = log4net.LogManager.GetLogger
(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
static void Main(string[] args)
{
log.Info("App Started");
}
有人可以指导缺少什么吗?
答案 0 :(得分:2)
我没有看到您将C:\ TestApplicationLogs定义为应该登录的目录。 在log4net配置中,您刚刚指定了文件名,因此它将登录到您执行exe的目录。