Я хочу добавить динамический атрибут в шаблон, который я использую с log4js.Я использую некоторый пользовательский шаблон, что-то вроде этого: "% d {}% -6p [% thread]% c [% x {context}]:% m% n% r"
Контекст является динамическимзначение, которое я хочу установить с некоторым уникальным идентификатором, сгенерированным для каждого пользователя на стороне сервера.Существует способ добавить динамическое значение при создании конфигурации log4js, используя атрибуты "tokens" и "context".Но в этом случае значения должны быть установлены во время создания журнала.
Есть ли способ добавить некоторый динамический атрибут, который устанавливается, когда фактическое сообщение записывается в журнал, а не на этапе настройки?
Сейчас я делаю что-то вроде этого:
log4js.configure(
{
appenders: { "file": { "type": "file", "filename": "service.log", "maxLogSize": 102400, "backups": 5, "category": "com.nextinsurance", "layout": { "type": "pattern", "pattern": "%d{} %-6p[%thread] %c [%x{context}]: %m%n%r", "tokens" : {context: function(logEvent){ return getContextFromData(logEvent) } } } }, "console" : {"type": "console"} },
categories: { "default": { "appenders": ["file", "console"], "level": "info" } }
}
);
Но хочу ввести это значение при записи в журнал, что-то вроде
logger.info(Message, {context: context_value})