我正在 Windows XP 中以管理员用户身份使用 C# 开发 .NET Framework 3.5,并使用 log4net 进行 .NET Framework 2.0 二进制引用。
我曾尝试过log4net 缺少什么 - 未创建日志文件 https://stackoverflow.com/questions/2620056/what-am-i-missing-with-log4net-no-log-file-created但这对我不起作用。
我将以下内容添加到 AssemblyInfo.cs 中:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
并创建了一个文件“Log4Net.config”,如下所示,但是,当我运行控制台应用程序时,在我的项目中找不到任何日志文件。我想念什么?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net>
<!--
log4net documentation http://logging.apache.org/log4net/
Logging levels in order of increasing priority:
* ALL
* DEBUG
* INFO
* WARN
* ERROR
* FATAL
* OFF
-->
<appender name="DebugLog" type="log4net.Appender.FileAppender">
<file value="MyLog_debug.log" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<maximumFileSize value="5MB" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="DEBUG" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
<file value="MyLog_info.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="7" />
<maximumFileSize value="5MB" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="WARN" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
<file value="MyLog_error.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="30" />
<maximumFileSize value="5MB" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date %-5level %logger - %message%newline" />
</layout>
</appender>
<!-- Set the default logging level and add the active appenders -->
<root>
<level value="ALL" />
<appender-ref ref="DebugLog" />
<appender-ref ref="InfoLog" />
<appender-ref ref="ErrorLog" />
</root>
</log4net>
</configuration>
确保配置文件被复制到输出目录。
如果您使用的是 Visual Studio,请转到“Log4Net.config”属性,并确保“复制到输出目录”设置为“始终复制”或“更新时复制”。否则,只需确保将配置文件复制到输出目录即可。
另外, log4net.Appender.FileAppender 没有“maximumFileSize”属性,因此您需要从配置文件中删除它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)