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
34 lines
979 B
JavaScript
34 lines
979 B
JavaScript
/* eslint no-undefined: 0 */
|
|
'use strict';
|
|
|
|
const format = require('./format');
|
|
const { MESSAGE } = require('triple-beam');
|
|
const jsonStringify = require('safe-stable-stringify');
|
|
|
|
/*
|
|
* function simple (info)
|
|
* Returns a new instance of the simple format TransformStream
|
|
* which writes a simple representation of logs.
|
|
*
|
|
* const { level, message, splat, ...rest } = info;
|
|
*
|
|
* ${level}: ${message} if rest is empty
|
|
* ${level}: ${message} ${JSON.stringify(rest)} otherwise
|
|
*/
|
|
module.exports = format(info => {
|
|
const stringifiedRest = jsonStringify(Object.assign({}, info, {
|
|
level: undefined,
|
|
message: undefined,
|
|
splat: undefined
|
|
}));
|
|
|
|
const padding = info.padding && info.padding[info.level] || '';
|
|
if (stringifiedRest !== '{}') {
|
|
info[MESSAGE] = `${info.level}:${padding} ${info.message} ${stringifiedRest}`;
|
|
} else {
|
|
info[MESSAGE] = `${info.level}:${padding} ${info.message}`;
|
|
}
|
|
|
|
return info;
|
|
});
|