2011-09-20 40 views
5

我有一个C#控制台应用程序,我将部署大约20次(使用不同的配置设置)并运行。正如你可能想象的,它很难保持和关注20个正在运行的应用程序发生了什么(我最终会将这些应用程序部署为Windows服务),那么是否有什么能够轻松地在一个地方显示这些应用程序的输出?查看mutilple .Net控制台应用程序的输出在一个地方

我想过日志文件,但这些可以得到很大的相当快,而且它是一个很大的文件,打开看看 - 我只是想有一些输出,检查的事情如预期仍在运行。

编辑:

我将会写作错误,停止/启动信息到数据库中。我在这里讨论的是一般的处理信息,这与重访并不重要,但它在控制台应用程序中运行时很有趣。

+0

即使他们都登录到同一个地方?数据库? – Widor

+0

我并不是很担心他们都在哪里登录gereral信息(我同意错误),更关心看看每个人的情况。如果他们每天执行数以万计的操作,我不一定要将所有这些写入数据库(或文件),因为我再也不需要看到它了。 – finoutlook

+2

看看log4net和它提供的appender。一旦你建立起来,这真的很容易。而且,如果没有人在收听,则数据报会消失在网络空间中。 –

回答

2

也许是因为我来自一个沉重的DB背景,但如何使用SQL Server和日志表来跟踪在不同应用中的活动?

数据库面向并发,可轻松处理多个应用程序将数据插入到同一个日志表中,同时还可以根据需要通过数据切片和切块,利用已有的聚合在数据库环境中运行。

如果你走这条路线,你可能需要考虑维护该表(日志保留期限等)。

您也可以开始使用工具(如Splunk)整理所有日志数据,并启动相应的应用程序故障以防系统或环境故障(如果这些故障正在被跟踪)。

0

我想第二个MikaelÖstberg并推荐使用记录器库(log4net或nlog)。有许多选项可以将消息发送到数据库或队列等等...由于您可以轻松打开或关闭日志记录,因此您甚至可以将其保存在服务中作为监视器挂钩以防发生奇怪的事情发生时

+0

如果我想检查当前正在发生的事情,我正在寻找的是监视这些日志的方法。即使假设我选择Log4net,我将如何可视化输出,我将不得不从下拉列表中选择20次以查看每个应用程序,或者是否有可以将它们整理在一页上的内容。 – finoutlook

相关问题