代码之家  ›  专栏  ›  技术社区  ›  William Hodges

如何编写c#日志文件?[已关闭]

  •  1
  • William Hodges  · 技术社区  · 9 年前

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

    将VS 2015与.NET 4.5目标框架一起使用。

    3 回复  |  直到 9 年前
        1
  •  3
  •   Cacho Santa    9 年前

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

    最终代码将如下所示:

    使用NLog;

    public class YourClass
    {
      private static Logger logger = LogManager.GetCurrentClassLogger();
    
      public void ButtonWasPressedEvent()
      {
        logger.Info("Thanks for pressing dude!");
      }
    }
    

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

        2
  •  1
  •   Peter Gluck    9 年前

    尊者 log4net 是基于java前身的.NET记录器的Apache Foundation解决方案, log4j .

    它也是 installable via NuGet 但由于其功率和灵活性,确实需要一些非平凡的配置。 日志4net 可以在代码或项目配置文件中配置( app.config web.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
  •  0
  •   Andreas Turku    9 年前

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