@webda/core
Version:
Expose API with Lambda
92 lines (91 loc) • 2.95 kB
TypeScript
import { ConsoleLogger, MemoryLogger, WorkerLogLevel, WorkerOutput, Logger as WorkoutLogger } from "@webda/workout";
import { Core } from "../core.js";
import { Service, ServiceParameters } from "../services/service.js";
export declare class LoggerServiceParameters extends ServiceParameters {
/**
* Specify the log level of this service
*/
logLevel: WorkerLogLevel;
/**
* @inheritdoc
*/
constructor(params: any);
}
/**
* LoggerService is useful for inheritance
*/
export declare class LoggerService<T extends LoggerServiceParameters = LoggerServiceParameters> extends Service<T> {
}
export declare class MemoryLoggerServiceParameters extends LoggerServiceParameters {
limit?: number;
}
/**
* Store logs within memory
*
* Useful for test and other last logs
* @WebdaModda Webda/MemoryLogger
*/
export declare class MemoryLoggerService<T extends MemoryLoggerServiceParameters = MemoryLoggerServiceParameters> extends LoggerService<T> {
workoutLogger: MemoryLogger;
constructor(webda: Core, name: string, params: any);
/**
* @inheritdoc
*/
loadParameters(params: any): MemoryLoggerServiceParameters;
}
export declare class ConsoleLoggerServiceParameters extends LoggerServiceParameters {
format?: string;
}
/**
* Log to the console
*
* Send logs to stdout
*
* @see @webda/workout.ConsoleLogger
* @WebdaModda ConsoleLogger
*/
export declare class ConsoleLoggerService<T extends ConsoleLoggerServiceParameters = ConsoleLoggerServiceParameters> extends LoggerService<T> {
workoutLogger: ConsoleLogger;
constructor(webda: Core, name: string, params: any);
/**
* @inheritdoc
*/
loadParameters(params: any): ConsoleLoggerServiceParameters;
}
export declare class FileLoggerServiceParameters extends LoggerServiceParameters {
format?: string;
file: string;
sizeLimit?: number;
}
/**
* Save logs into a file
*
* Can define rotation etc
*
* @see `@webda/workout FileLogger`
* @WebdaModda FileLogger
*/
export declare class FileLoggerService<T extends FileLoggerServiceParameters = FileLoggerServiceParameters> extends LoggerService<T> {
workoutLogger: ConsoleLogger;
constructor(webda: Core, name: string, params: any);
/**
* @inheritdoc
*/
loadParameters(params: any): FileLoggerServiceParameters;
}
/**
*
*/
export declare class Logger implements WorkoutLogger {
output: WorkerOutput;
clazz: string;
constructor(output: WorkerOutput, clazz: string);
log(level: WorkerLogLevel, ...args: any[]): void;
logWithContext(level: WorkerLogLevel, context: any, ...args: any[]): void;
logGroupOpen(name: string): void;
logGroupClose(): void;
logProgressStart(uid: string, total: number, title?: string): void;
logProgressIncrement(inc?: number, uid?: string): void;
logProgressUpdate(current: number, uid?: string, title?: string): void;
logTitle(title: string): void;
}