如何写一个c#日志文件?

How to write a c# log file?

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

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

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

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

使用 NLog;

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

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

使用NuGet安装即可,应该很简单。

这里有一个来自MSDN的例子,它涵盖了文件部分。 https://msdn.microsoft.com/en-us/library/8bh11f1k.aspx

令人尊敬的 log4net 是基于 java 前身 log4j 的 .NET 记录器的 Apache 基金会解决方案。

它也可以通过 NuGet安装,但由于其强大的功能和灵活性,它确实需要一些重要的配置。 log4net 可以在代码或项目配置文件中配置(app.configweb.config)。

日志可以存储在平面文件或您选择的数据库系统中,或同时存储在两者中,通过大量可用的 appenders。例如,RollingFileAppender 以指定的大小或间隔写入 "rolls over"(开始一个新文件)的文件:

<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>

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

The full feature set is listed here.