在J2EE应用程序(如在WebSphere中运行的应用程序)中,当我使用时System.out.println(),我的文本转到标准输出,由WebSphere管理控制台映射到文件。在ASP.NET应用程序(如在IIS中运行的应用程序)中,Console.WriteLine()go 的输出在哪里?IIS进程必须有stdin,stdout和stderr; 但是stdout映射到Windows版本的/ dev / null还是我错过了一个关键概念?我不是在问我是否应该登录(我使用log4net),但是输出在哪里?我最好的信息来自这个他们说可以改变的讨论,但它仍然没有回答关于控制台的初始值是什么,或者如何在config /在运行时代码之外设置它的问题。Console.SetOut()TextWriter
3 回答
达令说
TA贡献1821条经验 获得超6个赞
如果使用System.Diagnostics.Debug.WriteLine(...)
而不是Console.WriteLine()
,则可以在Visual Studio 的“ 输出”窗口中查看结果。
动漫人物
TA贡献1815条经验 获得超10个赞
如果你看一下.NET Reflector中的Console类,你会发现如果一个进程没有一个关联的控制台,并且由(包含在a中)支持,这是一个基本上忽略所有输入的虚拟实现,并且没有输出。Console.OutConsole.ErrorStream.NullTextWriterStream
因此它在概念上等同于/dev/null,但实现更加简化:使用null设备不会发生实际的I / O.
此外,除了呼叫之外SetOut,无法配置默认值。
- 3 回答
- 0 关注
- 1086 浏览
添加回答
举报
0/150
提交
取消