簡體   English   中英

將日志從REST服務發送到HTML頁面

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM