container.ts
Version:
Modular application framework
28 lines (27 loc) • 1.25 kB
TypeScript
import { ContainerLogMessage, ELogLevel, IModuleOptions, Module } from "../../container";
/** Logs environment variable names. */
export declare enum ELogsEnv {
/** Application logs level (default warning). */
Level = "LOGS_LEVEL"
}
/** Abstract container logs handler module. */
export declare abstract class Logs extends Module {
/** Default module name. */
static readonly moduleName: string;
/**
* Parsed application logs level.
* Get log level from environment, defaults to warning.
*/
protected readonly envLogsLevel: ELogLevel;
constructor(options: IModuleOptions);
/** Abstract handler for incoming log messages. */
protected abstract logsOnMessage(log: ContainerLogMessage): void;
/**
* Returns a new instance of ContainerLogMessage where message is a string.
* Some logging libraries only accept strings, in case message is an error, message/name property
* is used for log and other error properties are appended to log arguments array.
*/
protected logsMessageAsString(log: ContainerLogMessage): ContainerLogMessage;
/** Convert environment log level string to level index, defaults to warning. */
protected logsParseLevel(level?: string): ELogLevel;
}