From 217fffafa0af0dfb5dc089829350ac29e093d4f1 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Mon, 24 Aug 2020 09:59:23 -0400 Subject: [PATCH] add app server-side logging --- .../resources/stream/FilterHttpResource.java | 11 +++++++++++ .../bubble/rule/RequestModifierRule_icon.js.hbs | 15 +++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/bubble-server/src/main/java/bubble/resources/stream/FilterHttpResource.java b/bubble-server/src/main/java/bubble/resources/stream/FilterHttpResource.java index d46df88c..8f798823 100644 --- a/bubble-server/src/main/java/bubble/resources/stream/FilterHttpResource.java +++ b/bubble-server/src/main/java/bubble/resources/stream/FilterHttpResource.java @@ -26,6 +26,7 @@ import bubble.service.boot.SelfNodeService; import bubble.service.cloud.DeviceIdService; import bubble.service.stream.ConnectionCheckResponse; import bubble.service.stream.StandardRuleEngineService; +import com.fasterxml.jackson.databind.JsonNode; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.cobbzilla.util.collection.ExpirationEvictionPolicy; @@ -603,6 +604,16 @@ public class FilterHttpResource { return ok(summary); } + @POST @Path(EP_LOGS+"/{requestId}") + public Response requestLog(@Context Request req, + @Context ContainerRequest ctx, + @PathParam("requestId") String requestId, + JsonNode logData) { + final FilterSubContext filterCtx = new FilterSubContext(req, requestId); + log.error(" >>>>> REQUEST-LOG("+requestId+"): "+json(logData, COMPACT_MAPPER)); + return ok_empty(); + } + @Path(EP_ASSETS+"/{requestId}/{appId}") public AppAssetsResource getAppAssetsResource(@Context Request req, @Context ContainerRequest ctx, diff --git a/bubble-server/src/main/resources/bubble/rule/RequestModifierRule_icon.js.hbs b/bubble-server/src/main/resources/bubble/rule/RequestModifierRule_icon.js.hbs index f0f40fb2..2cc026b2 100644 --- a/bubble-server/src/main/resources/bubble/rule/RequestModifierRule_icon.js.hbs +++ b/bubble-server/src/main/resources/bubble/rule/RequestModifierRule_icon.js.hbs @@ -4,6 +4,21 @@ if (typeof {{PAGE_PREFIX}}_icon_status === 'undefined') { let {{PAGE_PREFIX}}_icon_status = []; + {{PAGE_PREFIX}}_log = function (data) { + const logData = JSON.stringify(data); + const requestOptions = { + method: 'POST', + body: logData + }; + fetch('/__bubble/api/filter/logs/{{BUBBLE_REQUEST_ID}}', requestOptions) + .then(() => { + console.log('Logged to server:', logData); + }) + .catch((error) => { + console.error('Error logging "'+logData+'" to server:', error); + }); + } + {{PAGE_PREFIX}}_addBubbleApp = function (app) { if (window.self === window.top) { {{PAGE_PREFIX}}_icon_status.push(app);