0

我一直在尝试使用位于此处的课程。但我无法让它发挥作用。我显然没有正确理解某些东西,但我很好奇如何让该示例 Logger 类工作。 我的研究使我转向使用 MSBuild,但正确使用 MSBuild 仍然让我感到困惑。任何指针都会有所帮助。我已将记录器类构建到 .dll 中,并在项目中也引用了它,但这就是我的研究似乎因有用信息而枯竭的地方。

目前的目标只是让上述记录器类正常工作,这样我就可以使用自己的记录器类。

4

2 回答 2

2

该类专门用于记录 MSBuild 事件。如果您想要一个与 MSBuild 无关的通用记录器,请查看以下一些替代方案:

于 2012-09-24T19:28:13.310 回答
0

不要害怕使用图书馆来完成这项工作。在本教程中,开始使用功能齐全且可扩展log4net日志库是一个简单的七步过程。我将内联教程的各个部分,以防万一链接失效。

首先,您在App.config文件中构建一个非常简单的配置部分:

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
  </configSections>
  <log4net>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="log-file.txt" />
      <param name="AppendToFile" value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
  </log4net>
</configuration>

对于您的需要,您几乎只需要更改value第一个param命名File的,因为它已经设置为附加到文本文件。

接下来,您需要以某种启动方法运行配置,例如您的程序Application_Startmain方法。

log4net.Config.XmlConfigurator.Configure();

最后,只需插入几行代码即可使用它:

private static readonly ILog log = LogManager.GetLogger(typeof(Bar));
... (rest of class)
... (somewhere in a method) ... log.Debug("this is the first log message");
于 2012-09-24T20:03:43.967 回答