5

我创建了一个控制台应用程序,它从 Excel 工作表传输数据并将其传输到数据库。我需要登录它。

我该怎么办?因为我完全不知道该怎么做。

4

4 回答 4

15

如果您只是想将文本作为日志写入文件,您可以执行以下操作:

string strLogText = "Some details you want to log.";

// Create a writer and open the file:
StreamWriter log;

if (!File.Exists("logfile.txt"))
{
  log = new StreamWriter("logfile.txt");
}
else
{
  log = File.AppendText("logfile.txt");
} 

// Write to the file:
log.WriteLine(DateTime.Now);
log.WriteLine(strLogText);
log.WriteLine(); 

// Close the stream:
log.Close();

这段代码的来源来自这篇文章。
这是StreamWriter 类的一些文档。

否则,如果您想要更多的东西,您可以按照其他人的建议进行操作并查看Log4Net。

于 2012-10-15T06:21:58.393 回答
7

I require to do logging into it....

您的意思是您希望将日志记录添加到应用程序中,还是希望人们添加log in

将事物记录到文件Log4Net的存在是为了方便您。如果您不想依赖第三方的东西,那么您可以做类似的事情

Trace.Listeners.Clear();

if (options.Verbose)
{
    var ctl = new ConsoleTraceListener(false) { TraceOutputOptions = TraceOptions.DateTime };
    Trace.Listeners.Add(ctl);
}

if (options.Log)
{
    var logFileFs = new FileStream("my.log", FileMode.Append);
    var twtl = new TextWriterTraceListener(logFileFs)
    { TraceOutputOptions = TraceOptions.ThreadId | TraceOptions.DateTime };
    Trace.Listeners.Add(twtl);
}

Trace.AutoFlush = true;

Trace.WriteLine(DateTime.Now.ToString(CultureInfo.InvariantCulture) + "   My App Started");

这使您可以向输出添加不同的输出,例如日志文件和详细打印,以便您可以登录到文件并在用户选择使用详细输出时在控制台中打印它。

线

Trace.WriteLine(DateTime.Now.ToString(CultureInfo.InvariantCulture) + "   My App Started");

应该做成一个函数来接收你的消息,也许还有一个日志级别,这样你就可以对所有书面日志消息有一个统一的外观。

如果您不需要那么多功能,您可以直接写入文件流。

于 2012-10-15T06:22:27.560 回答
2

有很多方法可以记录。您可以使用自己的日志记录

否则尝试 Log4net,这是您完成的简单配置更改。

好文章http://www.codeproject.com/Articles/140911/log4net-Tutorial

只是为您提供的附加信息 reg ELMAH(另一种错误记录方式) 在控制台应用程序中使用 ELMAH

于 2012-10-15T06:17:16.837 回答
1

如果您可以使用第三方产品,请选择log4net。它是一个很棒的 .NET 日志记录框架。

于 2012-10-15T06:17:23.360 回答