@paroicms/internal-server-lib
Version:
Common utilitaries for the paroicms server.
30 lines (29 loc) • 1.05 kB
TypeScript
import type { Obj } from "@paroicms/public-anywhere-lib";
import { type LoggerOptions } from "pino";
import type { BasicAppLogger, BasicAppLoggerLevel } from "./public.types.js";
export type AppLoggerLevel = BasicAppLoggerLevel | "stats" | "trace";
export interface AppLogger extends BasicAppLogger {
stats(...messages: any[]): void;
trace(...messages: any[]): void;
}
export interface PlatformLog extends AppLogger {
createChildLog(properties: Obj): AppLogger;
on(level: AppLoggerLevel, listener: (ev: AppLoggerEvent) => void): void;
untilReady: Promise<void>;
flushSync(): void;
}
export interface AppLoggerEvent {
level: AppLoggerLevel;
textMessage: string;
originalMessages: any[];
}
export interface AppLoggerOptions {
level: "silent" | AppLoggerLevel;
/**
* Omit for stdout.
*/
file?: string;
transport?: LoggerOptions["transport"];
reportMessage?: boolean;
}
export declare function createPlatformLog({ file, level, transport, reportMessage, }: AppLoggerOptions): PlatformLog;