elm327
Version:
Node.js/TypeScript library for ELM327 OBD2 adapters over USB, Bluetooth and WiFi
55 lines • 1.7 kB
TypeScript
export declare enum LogFormat {
RAW = "raw",
PRETTY = "pretty",
JSON = "json"
}
export declare enum LogLevel {
INFO = "INFO",
DEBUG = "DEBUG",
WARN = "WARN",
ERROR = "ERROR",
RAW_DATA = "RAW_DATA",
COMMAND = "COMMAND",
RESPONSE = "RESPONSE"
}
export interface LoggerConfig {
enabled?: boolean;
filePath: string;
format?: LogFormat;
levels?: LogLevel[];
maxLines?: number;
}
export declare class OBD2Logger {
private enabled;
private filePath;
private format;
private levels;
private maxLines;
private stream;
constructor(config: LoggerConfig);
enable(): void;
disable(): void;
isEnabled(): boolean;
setFormat(format: LogFormat): void;
setLevels(levels: LogLevel[]): void;
setMaxLines(max: number): void;
isLevelEnabled(level: LogLevel): boolean;
info(context: string, message: string, data?: Record<string, unknown>): void;
debug(context: string, message: string, data?: Record<string, unknown>): void;
warn(context: string, message: string, data?: Record<string, unknown>): void;
error(context: string, message: string, data?: Record<string, unknown>): void;
logRawData(context: string, raw: string): void;
logCommand(context: string, command: string, data?: Record<string, unknown>): void;
logResponse(context: string, response: string, data?: Record<string, unknown>): void;
private log;
private formatEntry;
private formatRaw;
private formatJson;
private formatPretty;
private getLevelTag;
private ensureDirectory;
private writeToFile;
private trimExcessLines;
close(): void;
}
//# sourceMappingURL=logger.d.ts.map