C# 如何记录datetime和daily

C# 如何记录datetime和daily,c#,sql-server,visual-studio,logging,C#,Sql Server,Visual Studio,Logging,我必须开发一个每天记录日志的文件,它在日志文件中显示每个日志的日期和时间。 到目前为止,我已经用以下代码创建了一个日志文件: Stream iStream = File.Open("C:\\TEST\\logfiles\\Test_Plugin.txt", FileMode.Append); StreamWriter iWriter = new StreamWriter(iStream); 我确实得到了一个日志文件,但没有日期时间,输出只是相互下面的一堆消息。 此外,我想每天记录这些。此插

我必须开发一个每天记录日志的文件,它在日志文件中显示每个日志的日期和时间。 到目前为止,我已经用以下代码创建了一个日志文件:

Stream iStream = File.Open("C:\\TEST\\logfiles\\Test_Plugin.txt", FileMode.Append); 
StreamWriter iWriter = new StreamWriter(iStream); 
我确实得到了一个日志文件,但没有日期时间,输出只是相互下面的一堆消息。 此外,我想每天记录这些。此插件将在服务器上运行。
谢谢

为什么不先编写一个静态方法来记录日志,这样逻辑就可以封装在一个地方,如下所示:

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");
然后您可以在代码中调用它,如下所示:

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");

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

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");
然后您可以在代码中调用它,如下所示:

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");

例如,为什么不能将
DateTime.Now.ToString()
写入日志文件?关于你的第二个问题:看看。我还建议您看看特定的日志框架,比如log4net。为什么您不能只在日志文件中写入
DateTime.Now.ToString()
?关于你的第二个问题:看看。我还建议您看看特定的日志框架,比如log4net。