Change the naming convention for LogMessage internal message field.

This commit is contained in:
Jonathan Bernard 2025-05-19 17:59:29 -05:00
parent f21cce9944
commit 25dfdb470b
2 changed files with 15 additions and 13 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@jdbernard/logging", "name": "@jdbernard/logging",
"version": "2.0.0", "version": "2.1.0",
"description": "Simple Javascript logging service.", "description": "Simple Javascript logging service.",
"main": "dist/index.js", "main": "dist/index.js",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",

View File

@ -1,4 +1,4 @@
import { omit } from './util' import { omit } from "./util";
export enum LogLevel { export enum LogLevel {
ALL = 0, ALL = 0,
@ -25,7 +25,7 @@ export function parseLogLevel(
export interface LogMessage { export interface LogMessage {
scope: string; scope: string;
level: LogLevel; level: LogLevel;
message: string | Record<string, unknown>; msg: string | Record<string, unknown>;
stacktrace?: string; stacktrace?: string;
error?: Error; error?: Error;
timestamp: Date; timestamp: Date;
@ -54,31 +54,33 @@ export type FlattenedLogMessage = Record<string, unknown>;
* ``` * ```
*/ */
export function flattenMessage(msg: LogMessage): FlattenedLogMessage { export function flattenMessage(msg: LogMessage): FlattenedLogMessage {
if (typeof msg.message === 'string') { if (typeof msg.msg === "string") {
return { ...msg, level: LogLevel[msg.level] }; return { ...msg, level: LogLevel[msg.level] };
} else { } else {
const { message, ...rest } = msg; const { msg, ...rest } = msg;
return { return {
...omit(message, [ ...omit(msg, [
'scope', "scope",
'level', "level",
'stacktrace', "stacktrace",
'error', "error",
'timestamp', "timestamp",
]), ]),
...rest, ...rest,
level: LogLevel[msg.level], level: LogLevel[msg.level],
}; };
} }
} }
export type LogMessageFormatter = (msg: LogMessage) => string | FlattenedLogMessage; export type LogMessageFormatter = (
msg: LogMessage,
) => string | FlattenedLogMessage;
export function structuredLogMessageFormatter(msg: LogMessage): string { export function structuredLogMessageFormatter(msg: LogMessage): string {
return JSON.stringify(flattenMessage(msg)); return JSON.stringify(flattenMessage(msg));
} }
export function simpleTextLogMessageFormatter(msg: LogMessage): string { export function simpleTextLogMessageFormatter(msg: LogMessage): string {
return `[${msg.scope}] - ${msg.level}: ${msg.message}`; return `[${msg.scope}] - ${msg.level}: ${msg.msg}`;
} }
export default LogMessage; export default LogMessage;