From 7c873db91bdd5c0d6698f5c0ee494c9a4f3d81fb Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Fri, 16 Dec 2022 08:05:16 -0500 Subject: [PATCH] *Add debug code to track log messages and store then in memory to be accessed over rpc --- src/config.ts | 18 ++++++++++++++++++ src/modules/plugins/rpc.ts | 8 ++++++++ 2 files changed, 26 insertions(+) diff --git a/src/config.ts b/src/config.ts index c8a98e7..1d1ed70 100644 --- a/src/config.ts +++ b/src/config.ts @@ -75,4 +75,22 @@ prefix.apply(log, { }, }); +const logFactory = log.methodFactory; + +let messageLog: string[] = []; + +log.methodFactory = function (methodName, logLevel, loggerName) { + var rawMethod = logFactory(methodName, logLevel, loggerName); + + return function (...messages) { + messageLog = messages.concat(messages); + rawMethod(...messages); + }; +}; + +// @ts-ignore +log.getLogs = function (): string[] { + return messageLog; +}; + export default config; diff --git a/src/modules/plugins/rpc.ts b/src/modules/plugins/rpc.ts index 8b187ea..933d83a 100644 --- a/src/modules/plugins/rpc.ts +++ b/src/modules/plugins/rpc.ts @@ -177,6 +177,14 @@ const plugin: Plugin = { return [...getRpcServer().cache.dhtCache.connectedTo]; }, }); + + api.registerMethod("get_logs", { + cacheable: false, + async handler(): Promise { + // @ts-ignore + return api.logger.getLogs(); + }, + }); }, };