[英]Send logs from a REST service to an HTML page
我在服務器A上有一個REST服務。由於使用了log4j,該服務正在做一些事情並記錄了一些消息。
另外,我在服務器B上有一個網頁,該網頁感謝AJAX並獲得響應。 除了收到響應(對我而言效果很好)之外,我還要在頁面上打印來自服務器端的日志消息。
換句話說,我希望每次服務器A端都有新的日志消息時,視圖都會顯示它。
有什么想法可以實現?
編輯:如何使用websocket從log4j套接字追加程序檢索日志?
您將創建一個REST端點,以text/plain
檢索原始日志數據。 可能是以下內容:
GET /logs HTTP/1.1
Accept: text/plain
您還可以提供一些查詢字符串參數,以按日期和時間過濾日志,如下所示:
GET /logs?from=2016-07-03T10:00:00Z&to=2016-07-04T10:00:00Z HTTP/1.1
Accept: text/plain
然后,您的客戶端可以請求此類端點,檢索他們想要的數據,並在HTML頁面中顯示日志。
如果您希望在服務器端呈現HTML頁面,而不是接受text/plain
,請接受text/html
。
對於實時日志記錄,可以考慮使用WebSockets 。
我終於找到了解決問題的方法:
我創建了一個單例記錄器。 每次我想記錄一條消息時,我都會獲取記錄器的實例,並將新消息添加到日志的ConcurrentLinkedList中。
另一方面,我創建了一個新的休息服務。 我每秒都會用ajax查詢調用此服務。 它刪除列表的日志消息並返回它們。 視圖顯示它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.