【问题标题】:How to log a datetime and on daily base如何记录日期时间和每日基础
【发布时间】:2014-07-24 08:15:44
【问题描述】:

我必须开发一个每天记录的文件,并在日志文件内部显示每个日志的日期和时间。 到目前为止,我使用此代码创建了一个日志文件:

Stream iStream = File.Open("C:\\TEST\\logfiles\\Test_Plugin.txt", FileMode.Append); 
StreamWriter iWriter = new StreamWriter(iStream); 

我确实得到了一个日志文件,但没有日期时间,输出只是一堆相互下方的消息。 我也想每天记录这些。该插件将在服务器上运行。 谢谢

【问题讨论】:

  • 您为什么不能直接将DateTime.Now.ToString() 写入您的日志文件?关于你的第二个问题:看this question。我还建议您查看特定的日志记录框架,例如 log4net。

标签: c# sql-server visual-studio logging


【解决方案1】:

为什么不首先编写一个可以进行日志记录的静态方法,以便将逻辑封装在一个地方,如下所示:

public static class Logger
{
    public static void Log(string format, params object[] args)
    {
        using (var streamWriter = new StreamWriter("C:\\TEST\\logfiles\\Test_Plugin.txt", true))
        {
            streamWriter.WriteLine("{0}: {1}", DateTime.Now.ToString("dd MMM yyyy HH:mm:ss"), string.Format(format, args));
        }
    }
}

然后你可以在你的代码中这样调用它:

Logger.Log("hello this is a test");

它还将支持字符串格式表达式,例如:

Logger.Log("a: {0}  b: {1} c:{2}", "a", "bb", "ccc");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 2018-02-07
    • 2016-11-16
    • 2022-01-18
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多