UNPKG

@paroicms/internal-server-lib

Version:

Common utilitaries for the paroicms server.

30 lines (29 loc) 1.05 kB
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;