Log4Net和.NET 4.0

30

log4net已经有一段时间没有发布任何更新了。这对于3.5版本并没有造成任何问题,但是对于.NET 4呢?是否有人听到过有关支持4版本框架的发布的传言?

7个回答

12
"

在 .NET 4 项目中,您仍然可以使用 log4net。您需要将项目的目标平台更改为“ .NET Framework 4”...

"
<startup>
   <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
将以下内容添加到配置文件底部(在log4net设置后):
<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="logfile.txt" />
      <appendToFile value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date: %-5level – %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

使用log4net 1.2.10.0版本进行测试。 您需要在Assemblyinfo.cs文件中添加以下行: [assembly: log4net.Config.XmlConfigurator(Watch = false)] (我忘了)


1
如果没有将该行添加到AssemblyInfo.cs文件中,则log4net在应用程序配置文件中的设置将被忽略。因此,包含有关将该行添加到AssemblyInfo.cs文件中的信息会得到加分。 - Mun

8

4

跟踪系统存在一个与4.0支持相关的问题。
如果您需要,您可以使用最新版本自己编译它 - 它将编译成功。


2
这里是我们有关如何在VS2010中使用C#和.Net 4.0使log4net工作的笔记。它基本上遵循了tseonet的帖子,但只需几个简单的步骤即可完成。我们还将安全级别设置为1,而不是注释掉AllowPartiallyTrustedCallers,但两种选项都可以使用。
希望这对某些人有用: http://www.charlestonsw.com/configuring-log4net-with-vs2010-and-net-4-0/

以上链接已失效。 - codechurn
1
已替换为新的URL。我在CSA的新博客上保留了一些技术内容。 - Lance Cleveland

0

谢谢,那个JIRA条目包括一个补丁 - 在SVN HEAD上应用它,然后:“...为了针对.Net 4.0定义NET; NET_2_0; NET_4_0,为了针对.Net 4.0客户端配置文件附加; NET_CLIENT_PROFILE到先前的定义。”-这对我解决了问题(此外,该补丁现在已经声明将在1.2.11版本中发布,供参考)。 - sinelaw

0

那个教程与 OP 所需的 .NET 4.0 无关。 - Maccath

0

看起来当前的log4net主干支持.NET Framework 4.0。这种支持只是尚未随发布一起提供。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接