【问题标题】:How to write a c# log file? [closed]如何编写c#日志文件? [关闭]
【发布时间】:2015-09-04 23:50:26
【问题描述】:

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

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

【问题讨论】:

标签: c# .net-4.5


【解决方案1】:

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

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

使用 NLog;

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

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

可以使用NuGet进行安装,应该很简单。

【讨论】:

  • 爱NLog!我正在输入同样的内容,看到你的答案进来了:)
  • 谢谢您的好先生!这是完美的!
【解决方案2】:

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

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

通过大量可用的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>

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

The full feature set is listed here.

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      • 2012-07-19
      相关资源
      最近更新 更多