2011-09-20 28 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

相關問題