2008-11-13 100 views
2

我目前正在重构将其状态打印到控制台窗口的应用程序。目前,我做这样的事情:将应用程序记录到控制台窗口

Console.Write("Print some status.....") 
//some code 
Console.WriteLine("Done!") 

现在,虽然这工作得很好,所有的逻辑console.writelines之间隐藏的,我觉得使得它非常难以阅读。

我不知道是否有更好的方法来做到这一点,但我只是想问一下,看看是否有人想出了一个更好/更干净的打印应用程序状态的方式到控制台。

任何想法?

回答

3

看看Log4Net,它处理所有事情,但可能是对你的应用程序的矫枉过正,不知道。然而,知道Log4Net将有可能帮助你在某一天的路上,所以也许这是一个很好的机会了解它。

0

为什么不使用将错误写入文本文件的Logger对象?您可能会遇到一些“优先级”错误消息,例如:Logger.print(新的优先级(“重要”),“blabla”); 这样,你可以在你的文件中找到确切的时间和所有你想要的信息。

如果你绝对要控制台,你可以在控制台上使用优先级..所以它会只打印你能告诉什么记录器打印,如网络错误等。

1

我第二次使用Log4Net。这是很容易使用它,而不必调用困难的部分 - 只要做到以下几点: 在您的应用程序的Main()方法中,调用

log4net.Config.BasicConfigurator.Configure(new log4net.Appender.ConsoleAppender()); 

,设置了该记录所有消息到标准输出一个基本的控制台记录器。

在需要记录类,创建一个新的ILog像这样:

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof (MyClass)); 

然后在需要记录的方法,调用

log.Debug("Print Some status ..."); 

一旦所有这些设置和加工。查看Log4Net文档,了解如何设置更有用的日志记录。您可以执行许多不同类型的日志记录,而无需在代码中更改日志记录调用。

相关问题