所以我想在c#中记录一个事件。例如,我希望每次按下按钮进入.txt文件时都会记录它,并且每次选择按钮时都会使用该文件,而不是创建新的.txt文件。我不知道该怎么做,甚至不知道从哪里开始。我不想要一些奢侈的代码库来做到这一点。有没有人知道这样做的快速,简单和直接的方式?
将VS 2015与.NET 4.5目标框架结合使用。
答案 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.config
或web.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。