我创建了一个控制台应用程序,它从Excel工作表传输数据并将其传输到数据库。我需要登录它。
我该怎么办呢?因为我完全不知道如何去做。
答案 0 :(得分:13)
如果您只想将文本作为日志写入文件,则可以执行以下操作:
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();
此代码的来源来自此article.
以下是StreamWriter Class.
否则,如果您想要更多其他内容,您可以像其他人建议的那样做,并查看Log4Net.
答案 1 :(得分:6)
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");
应该成为一个函数,它接收你的消息,也许是一个日志级别,这样你就可以统一查看所有写入的日志消息。
如果您不需要那么多功能,您可以直接写入文件流。
答案 2 :(得分:2)
有很多方法可以记录。您可以使用自己的日志记录
否则尝试Log4net就可以完成简单的配置更改。
好文章http://www.codeproject.com/Articles/140911/log4net-Tutorial
您只需为ELMAH(另一种错误记录方式)Using ELMAH in a console application
添加其他信息答案 3 :(得分:1)
如果您可以使用第三方产品,请转到log4net。它是.NET的一个很棒的日志框架。