我目前正在重构一个将其状态打印到控制台窗口的应用程序。目前我正在做这样的事情:
Console.Write("Print some status.....")
//some code
Console.WriteLine("Done!")
现在虽然这工作正常,但所有逻辑都隐藏在 console.writelines 之间,我发现它很难阅读。
我不知道是否有更好的方法来做到这一点,但我只是想问问是否有人想出了更好/更干净的方式将应用程序状态打印到控制台。
有任何想法吗?
看看 Log4Net,它可以处理所有事情,但对你的应用程序来说可能有点过头了,不知道。然而,了解 Log4Net 可能会在某天帮助你走上这条路,所以也许这也是一个学习它的好机会。
我第二次使用 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 文档,了解如何设置更有用的日志记录。您可以执行许多不同类型的日志记录,而无需更改代码中的日志记录调用。
为什么不使用将错误写入文本文件的 Logger 对象?您可能会收到一些“优先级”错误消息,例如: Logger.print(new priority("important"), "blabla"); 这样,您可以在文件中找到确切的时间和您想要的所有消息。
如果您绝对想要控制台,您可以使用控制台上的优先级.. 所以它只会打印您告诉记录器打印的内容,例如网络错误等。