在J2EE应用程序(例如在WebSphere中运行的应用程序)中,当我使用System.out.println()时,我的文本将转换为标准输出,由WebSphere管理控制台映射到一个文件。

在ASP中。NET应用程序(像一个运行在IIS), Console.WriteLine()的输出去哪里?IIS进程必须有一个stdin, stdout和stderr;但是stdout映射到/dev/null的Windows版本还是我在这里错过了一个关键的概念?

我不是问我是否应该在那里记录日志(我使用log4net),而是问输出到哪里?我最好的信息来自于这个讨论,他们说Console. setout()可以改变TextWriter,但它仍然没有回答控制台的初始值是什么,或者如何在配置/运行时代码之外设置它的问题。


当前回答

除非你在一个严格的控制台应用程序中,否则我不会使用它,因为你无法真正看到它。我将使用Trace.WriteLine()用于调试类型的信息,这些信息可以在生产环境中打开和关闭。

其他回答

在ASP中。NET应用程序,我认为它会转到输出或控制台窗口,在调试期间是可见的。

System.Diagnostics.Debug.WriteLine(…);把它放到Visual Studio 2008的即时窗口中。

进入菜单Debug -> Windows -> Immediate:

使用控制台。Writeline并不适合我。

真正有帮助的是设置一个断点,然后在调试时运行测试。 当它到达断点时,您可以观察返回什么。

尝试附加一些“后端调试器”来记录您的msg或数据到控制台或输出窗口,就像我们在节点控制台中所做的那样。

System.Diagnostics.Debug。WriteLine("Message" +变量)代替Console.WriteLine()

这样你就可以在Visual Studio的输出窗口(控制台)中看到结果。

默认情况下没有控制台监听。在调试模式下运行会附加一个控制台,但在生产环境中,正如您所怀疑的那样,消息不会去任何地方,因为没有任何东西在监听。