我为某个第三方创建插件项目,在该项目上我使用log4net.dll。但它无效(IsDebugEnabled为false且未创建日志文件。)。
我在一个示例应用程序(不是插件项目)中使用log4net.dll,该应用程序运行正常。 这意味着IsDebugEnabled为true并且创建了日志文件。
我遵循的以下步骤: 1.创建app.config文件并添加以下代码。
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
2.创建另一个配置文件,名称为log4net.config
<log4net>
<appender name="DEBUG_APPENDER" type="log4net.Appender.RollingFileAppender">
<file value="${USERPROFILE}\Logs\Log.txt" />
<additivity value="true" />
<appendToFile value="true" />
<maxSizeRollBackups value="1" />
<maximumFileSize value="300KB" />
<rollingStyle value="Size" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level [%thread] %method - %message %newline" />
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="DEBUG_APPENDER"/>
</root>
OutputDirectory是CopyAlways。
3.将此行添加到AssemblyInfo.cs文件中。
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
最后用于上课。
private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Log.Debug("DEBUG");
我在我的示例项目和插件代码中使用的上述代码。 但是它在示例项目中工作,而不是在插件项目中工作。
我不知道我做了什么错。请给出一些解决方案。