2012-02-16 45 views
1

我們有一個基於MarkLogic,Java/GlassFish的系統。我們需要某種類型的系統來捕獲這三個子系統中的任何一個拋出的異常,然後提供一個很好的基於Web的報告界面,在這個界面中可以查看,優先化,標記完成。我們在雲中使用JIRA.com,所以如果有任何方法可以與之整合,那就太好了。更喜歡開源或廉價。是否有任何用於捕獲和管理異常的通用異常處理框架?

我不確定基於Java的系統是否可以適應我們的MarkLogic錯誤,所以我相信我們需要一些與語言無關的東西。

謝謝。

回答

1

如果您使用MarkLogic「HTTP應用服務器」(而不是XCC或WebDAV)與MarkLogic進行通信,則可以使用錯誤處理程序配置作爲捕獲未處理異常的阻塞點。我從來沒有嘗試過,但理論上,在錯誤處理程序中,您可以發出http請求並將它們發送到任何你想要的地方。

http://docs.marklogic.com/5.0doc/docapp.xqy#display.xqy?fname=http://pubs/5.0doc/xml/dev_guide/appserver-control.xml%2387072

如果使用XCC,然後有其他地方把阻塞點在Java代碼中。

0

MarkLogic默認將異常寫入Data/Logs/ErrorLog.txt文件。 MarkLogic中的應用程序代碼可以使用xdmp:log或trace()將消息記錄到同一個文件中。如果GlassFish在同一主機上運行,​​則可以通過文件系統輕鬆訪問該文件。它也可以通過MarkLogic中的App Server通過一些自定義XQuery代碼進行披露。

GlassFish本身似乎是一個Java EE平臺。我期望它使用Log4J之類的東西進行日誌記錄。 ErrorLog和Log4J日誌中的日誌消息可能不會被格式化爲相同的格式,但基本屬性應該存在,如日期/時間和錯誤消息。 Log4J日誌記錄也可以設置爲寫入日誌文件。你可以像ErrorLog一樣使用它。

我不知道任何報告此類日誌記錄的Web接口的錯誤,但我相信JIRA提供了一個HTTP API,可用於將信息推送到它。