6989a98d75
- Arkitektur: docs/auth/passwordless-architecture.md - Backend: iom/quixzoom-auth-service/ (FastAPI + Redis) - Webb: quixzoom-market-pages/se/login/ (QR-kod + polling) - App: iom/quixzoom-app/src/features/auth/ (push + deep links) Flöde: QR-kod → app-godkännande → webb-inloggad
30 lines
759 B
JavaScript
30 lines
759 B
JavaScript
'use strict';
|
|
|
|
const format = require('./format');
|
|
const { MESSAGE } = require('triple-beam');
|
|
const jsonStringify = require('safe-stable-stringify');
|
|
|
|
/*
|
|
* function logstash (info)
|
|
* Returns a new instance of the LogStash Format that turns a
|
|
* log `info` object into pure JSON with the appropriate logstash
|
|
* options. This was previously exposed as { logstash: true }
|
|
* to transports in `winston < 3.0.0`.
|
|
*/
|
|
module.exports = format(info => {
|
|
const logstash = {};
|
|
if (info.message) {
|
|
logstash['@message'] = info.message;
|
|
delete info.message;
|
|
}
|
|
|
|
if (info.timestamp) {
|
|
logstash['@timestamp'] = info.timestamp;
|
|
delete info.timestamp;
|
|
}
|
|
|
|
logstash['@fields'] = info;
|
|
info[MESSAGE] = jsonStringify(logstash);
|
|
return info;
|
|
});
|