17 lines
567 B
JavaScript
17 lines
567 B
JavaScript
/**
|
|
* Structured logger — writes newline-delimited JSON to stdout/stderr.
|
|
*/
|
|
function write(stream, entry) {
|
|
stream.write(JSON.stringify(entry) + '\n');
|
|
}
|
|
export const logger = {
|
|
info(msg, data) {
|
|
write(process.stdout, { level: 'info', time: new Date().toISOString(), msg, ...data });
|
|
},
|
|
warn(msg, data) {
|
|
write(process.stderr, { level: 'warn', time: new Date().toISOString(), msg, ...data });
|
|
},
|
|
error(msg, data) {
|
|
write(process.stderr, { level: 'error', time: new Date().toISOString(), msg, ...data });
|
|
},
|
|
};
|