我目前正在重构一个将其状态打印到控制台窗口的应用程序。目前我正在做这样的事情:
Console.Write("Print some status.....")
//some code
Console.WriteLine("Done!")
现在虽然这很好用,但所有逻辑都隐藏在console.writelines之间,而且我发现它很难阅读。
我不知道是否有更好的方法可以做到这一点,但我只是想问一下是否有人在控制台上提出了更好/更清晰的打印应用程序状态。
有什么想法吗?
答案 0 :(得分:3)
看看Log4Net,它可以处理所有内容,但可能对您的应用程序来说太过分了,不知道。然而,知道Log4Net可能会帮助你在某一天上路,所以也许这也是一个很好的机会。
答案 1 :(得分:1)
我第二次使用Log4Net。在不调用困难部分的情况下使用它非常简单 - 只需执行以下操作: 在您的应用程序Main()方法中,调用
log4net.Config.BasicConfigurator.Configure(new log4net.Appender.ConsoleAppender());
设置一个基本的控制台记录器,将所有消息记录到stdout。
在需要记录的类中,创建一个新的ILog,如下所示:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof (MyClass));
然后在需要记录的方法中,调用
log.Debug("Print Some status ...");
完成所有这些设置和工作后。查看Log4Net文档,了解如何设置更有用的日志记录。您可以执行许多不同类型的日志记录,而无需更改代码中的日志记录调用。
答案 2 :(得分:0)
为什么不使用将错误写入文本文件的Logger对象?您可能会遇到一些“优先级”错误消息,例如:Logger.print(新优先级(“重要”),“blabla”); 这样,您就可以在文件中找到确切的时间和所需的所有消息。
如果您非常想要控制台,您可以在控制台上使用优先级..因此它只会打印您告诉记录器打印的内容,例如网络错误等。