如何编写c#日志文件?

时间:2015-09-04 23:50:27

标签: c# .net-4.5

所以我想在c#中记录一个事件。例如,我希望每次按下按钮进入.txt文件时都会记录它,并且每次选择按钮时都会使用该文件,而不是创建新的.txt文件。我不知道该怎么做,甚至不知道从哪里开始。我不想要一些奢侈的代码库来做到这一点。有没有人知道这样做的快速,简单和直接的方式?

将VS 2015与.NET 4.5目标框架结合使用。

3 个答案:

答案 0 :(得分:3)

我相信您正在寻找NLog,请查看官方tutorial

您的最终代码将如下所示:

使用NLog;

public class YourClass
{
  private static Logger logger = LogManager.GetCurrentClassLogger();

  public void ButtonWasPressedEvent()
  {
    logger.Info("Thanks for pressing dude!");
  }
}

可以使用NuGet进行安装,这应该非常简单。

答案 1 :(得分:0)

以下是MSDN的一个示例,它涵盖了文件部分。 https://msdn.microsoft.com/en-us/library/8bh11f1k.aspx

答案 2 :(得分:0)

古老的log4net是基于java前身log4j的.NET记录器的Apache Foundation解决方案。

它也是installable via NuGet,但由于其功能和灵活性,确实需要一些非平凡的配置。可以在代码或项目配置文件(app.configweb.config)中配置log4net

可以通过大量可用的appenders将日志存储在您选择的平面文件或数据库系统中,或两者都存储。例如,RollingFileAppender写入以指定大小或间隔“翻转”(启动新文件)的文件:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="log.txt" />
  <appendToFile value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="100KB" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  </layout>
</appender>

可以同时使用多个appender将日志条目定向到多个目标。此外,可以定义多个记录器,每个记录器都有自己的一组appender。

The full feature set is listed here.