我有一个Windows服务,它会在执行时生成日志。我也会console.writeline
调用我写入日志文件的每条日志消息。但由于它的Windows服务,console.write行不可见。
我想编写一个可以附加到我的服务(已经运行)的C#控制台应用程序,它只能显示进程(我的Windows服务)正在生成的所有console.writeline
消息。
更新:日志量非常频繁(每分钟50条消息),我宁愿不想为此拥挤Windows事件日志。使用cosole窗口有助于查看日志并在方便时退出
答案 0 :(得分:6)
从服务中显示窗口不是一个好主意,因为您必须找到“正确”的会话(Windows允许多个用户登录),并且还要求该服务可以访问用户的桌面。 / p>
相反,将Console.WriteLine
来电更改为Trace.WriteLine
可能最简单。然后,您可以附加到这些跟踪消息,例如使用SysIntenal的 DebugView 。
答案 1 :(得分:5)
我认为您很难将控制台连接到现有服务。两个简单的选项
重新更新 - 数字2最好。
答案 2 :(得分:1)
你可以让服务互动,在这种情况下你会看到控制台窗口,但你总能看到它,如果你关闭它,我想,你将停止服务
或者,让您的控制台监视器以合理的间隔从日志文件中读取更新,而不是直接尝试进入服务进程。
答案 3 :(得分:1)
我建议您将消息记录到Windows事件查看器,如果没有强烈的愿望在控制台窗口显示它们。这link可以帮助你...
答案 4 :(得分:1)
通过UDP发送数据并制作一个简单的程序来显示数据 您保证并进行异步操作,甚至可以发送给其他主机。
答案 5 :(得分:1)
我使用cygwin来关闭log4net创建的日志文件,这似乎对我有用。
感谢您的帮助!
答案 6 :(得分:0)
或者使用http://www.log-expert.de/打开文件并拖尾。你甚至可以把它变得丰富多彩!