2

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

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

现在虽然这工作正常,但所有逻辑都隐藏在 console.writelines 之间,我发现它很难阅读。

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

有任何想法吗?

4

3 回答 3

3

看看 Log4Net,它可以处理所有事情,但对你的应用程序来说可能有点过头了,不知道。然而,了解 Log4Net 可能会在某天帮助你走上这条路,所以也许这也是一个学习它的好机会。

于 2008-11-13T06:12:53.993 回答
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 文档,了解如何设置更有用的日志记录。您可以执行许多不同类型的日志记录,而无需更改代码中的日志记录调用。

于 2008-11-14T00:06:01.450 回答
0

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

如果您绝对想要控制台,您可以使用控制台上的优先级.. 所以它只会打印您告诉记录器打印的内容,例如网络错误等。

于 2008-11-13T04:44:53.220 回答