fixparser-plugin-log-console
Version:
Console / JSON Log transport for FIXParser
95 lines (93 loc) • 2.91 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/ConsoleLogTransport.ts
var ConsoleLogTransport_exports = {};
__export(ConsoleLogTransport_exports, {
ConsoleLogTransport: () => ConsoleLogTransport
});
module.exports = __toCommonJS(ConsoleLogTransport_exports);
var ConsoleLogTransport = class {
format;
useStderr;
constructor({ format = "json", useStderr = false }) {
this.format = format;
this.useStderr = useStderr;
}
/**
* Configures the format for console logging (either 'console' for text, 'json', or 'jsonrpc').
*/
configure(config) {
this.format = config.format || "json";
if (config.useStderr !== void 0) {
this.useStderr = config.useStderr;
}
}
/**
* Sends the log message to the console in the configured format.
*/
async send(log) {
const logMethod = this.useStderr ? console.error : console.log;
if (this.format === "json") {
logMethod(JSON.stringify(log));
} else if (this.format === "jsonrpc") {
const { message, ...rest } = log;
const jsonrpcMessage = {
jsonrpc: "2.0",
method: log.level,
params: {
message,
...rest
}
};
logMethod(JSON.stringify(jsonrpcMessage));
} else {
const { name, id, message, level, ...additionalProperties } = log;
const kv = Object.entries(additionalProperties).map(([key, value]) => `${key}: ${value}`);
let logMessage = "";
if (name) {
logMessage += `${name} `;
}
logMessage += `${id}: ${message}`;
void kv;
void level;
logMethod(logMessage, kv.join(", "));
}
}
/**
* Flushes the log buffer (if any buffering mechanism exists).
*/
async flush() {
}
/**
* Closes the transport (not needed for console, but keeping the method for consistency).
*/
async close() {
}
/**
* Returns the status of the transport (always "connected" for console).
*/
status() {
return "connected";
}
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
ConsoleLogTransport
});
//# sourceMappingURL=ConsoleLogTransport.cjs.map