C# 使用日期/时间记录GUI相关数据的简单方法?

C# 使用日期/时间记录GUI相关数据的简单方法?,c#,C#,我不是这方面的专家,但在WinForms中有一个小型GUI应用程序,在WPF C中也有类似的应用程序。我希望使用代码能够记录用户的操作,例如用户单击按钮时、执行程序时以及程序退出时 我需要一个简单但稳定的方式来记录这样的信息到一个txt文件 当我开始阅读有关事件记录的书籍时,它就像一个深海,有无数种方式,我没有时间去掌握这些。我想知道是否有一种快速简单的方法可以达到这样的目的。对于一种快速简单的方法,您可以有这样一个函数: static void log(string message) {

我不是这方面的专家,但在WinForms中有一个小型GUI应用程序,在WPF C中也有类似的应用程序。我希望使用代码能够记录用户的操作,例如用户单击按钮时、执行程序时以及程序退出时

我需要一个简单但稳定的方式来记录这样的信息到一个txt文件


当我开始阅读有关事件记录的书籍时,它就像一个深海,有无数种方式,我没有时间去掌握这些。我想知道是否有一种快速简单的方法可以达到这样的目的。

对于一种快速简单的方法,您可以有这样一个函数:

static void log(string message)
{
    System.IO.File.AppendAllText(logPath, message + "\r\n");
}
然后,您可以在启动应用程序时将
日志路径设置为
%temp%
文件夹或其他任何文件夹

如果要进一步改进,可以添加以下内容:

enum LogLevel { Debug, Information, Warning, Error, Critical };

private static void log(string message, LogLevel level = LogLevel.Information)
{
    System.IO.File.AppendAllText(logPath, $"{DateTime.Now:dd/MM/yyyy HH:mm:ss.fff} - {level} - {message}\r\n");
}
这使日志在以后更容易阅读

注意:如果您不想深入研究日志框架,这是一种非常简单的方法。但框架通常会给您带来更多的附加值,比如登录数据库等

用法:

private void btCreate_Click(object sender, EventArgs e)
{
    log("Button btCreate clicked.", LogLevel.Warning);
}

实际上,您可以使用10个日志包。如果您的项目是.NETCore,那么日志框架是内置的。谢谢。您还可以添加一个带有事件的示例吗?单击的Like按钮会记录日期和错误(如果有)。你的enum LogLevel看起来很棒,但是你能添加一个例子来说明它是如何使用的吗?我添加了一个用法。注意,根据您使用它的位置,您可能需要从
log()
函数中删除术语
static
。非常感谢!这对我有用。您建议将其保存到txt文件或csv文件中吗?我会将我的程序发送到客户机,我希望在人们使用它时记录它。
.txt
.log