From 3ea020cc501341d8184fe59d3c16fcf34e5c5272 Mon Sep 17 00:00:00 2001 From: Christopher Date: Sun, 21 Dec 2025 16:41:21 +0100 Subject: [PATCH] feat(imports/logger): support metadata table for Fivemanage logger (#75) --- imports/logger/server.lua | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/imports/logger/server.lua b/imports/logger/server.lua index cef98e0..667fd5a 100644 --- a/imports/logger/server.lua +++ b/imports/logger/server.lua @@ -128,17 +128,43 @@ if service == 'fivemanage' then end) end + local metadata = { + hostname = hostname, + service = event, + source = source, + } + + local playerTags = formatTags(source, nil) + if playerTags and type(playerTags) == 'string' then + local tempTable = { string.strsplit(',', playerTags) } + for _, v in pairs(tempTable) do + local key, value = string.strsplit(':', v) + if key and value then + metadata[key] = value + end + end + end + + local args = { ... } + for _, arg in pairs(args) do + if type(arg) == 'table' then + for k, v in pairs(arg) do + metadata[k] = v + end + elseif type(arg) == 'string' then + local key, value = string.strsplit(':', arg) + if key and value then + metadata[key] = value + end + end + end + bufferSize += 1 buffer[bufferSize] = { level = "info", message = message, resource = cache.resource, - metadata = { - hostname = hostname, - service = event, - source = source, - tags = formatTags(source, ... and string.strjoin(',', string.tostringall(...)) or nil), - } + metadata = metadata, } end end