@kcutils/logger
Version:
Another Logger Service
75 lines • 2.86 kB
TypeScript
/// <reference types="node" />
import { Types } from "./LoggerType";
import { OptionalSetting } from "./LoggerSetting";
import { Levels } from "../../constants/levels";
import { Writable } from "stream";
export declare type DateTimeFormat = "date" | "time" | "datetime" | "timestamp";
export declare type OutputType = "file" | "console";
export interface StrictOption {
debug: boolean;
json: boolean;
interactive: boolean;
disabled: boolean;
color: boolean;
output: OutputType[];
level: Levels;
datetime: DateTimeFormat;
separator: string;
scopes: string[];
/**
* contains string or regex are accepted.
*/
secrets: string[];
overrideStream: boolean;
streams: Writable | Writable[];
censor: (input: string) => string;
}
export declare type OptionalOption = Partial<StrictOption>;
/**
* @deprecated Please use LoggerOptionBuilder instead
*/
export interface StrictLoggerOption<T extends string> extends StrictOption {
types: Types<T>;
settings: OptionalSetting;
}
/**
* @deprecated Please use LoggerOptionBuilder instead
*/
export declare type OptionalLoggerOption<T extends string> = Partial<StrictLoggerOption<T>>;
export declare type StrictExtraLoggerOption<T extends string> = {
types: Types<T>;
settings: OptionalSetting;
};
export declare type OptionalExtraLoggerOption<T extends string> = Partial<StrictExtraLoggerOption<T>>;
export declare class LoggerOption<T extends string> {
private option;
private readonly extra?;
private static readonly envPrefix;
constructor(option: StrictOption, extra?: Partial<StrictExtraLoggerOption<T>> | undefined);
set<K extends keyof StrictOption, V extends StrictOption[K] = StrictOption[K]>(key: K, value: V): void;
isDebug(override?: boolean): boolean;
isJson(override?: boolean): boolean;
isInteractive(override?: boolean): boolean;
isDisabled(override?: boolean): boolean;
isColor(override?: boolean): boolean;
isOverrideStream(override?: boolean): boolean;
getOverrideStream(override?: Writable[]): Writable[];
getLevel(override?: Levels): Levels;
getSeparator(override?: string): string;
getDatetime(override?: DateTimeFormat): DateTimeFormat;
getOutputList(override?: OutputType[]): OutputType[];
getScopes(override?: string[]): string[];
getSecrets(override?: string[]): string[];
onCensor(secert: string): string;
getTypes(): Types<T> | undefined;
getSettings(): OptionalSetting | undefined;
private getString;
private getBoolean;
private getArray;
private onlyExistArray;
private appendArray;
copy<R extends string = T>(inOpt?: OptionalOption, inExt?: OptionalExtraLoggerOption<R>): LoggerOption<T | R>;
clone(): LoggerOption<T>;
toStrictOption(): StrictOption;
}
//# sourceMappingURL=LoggerOption.d.ts.map