@btfuse/core
Version:
A native-first framework for building hybdrid web-native applications
58 lines (57 loc) • 1.65 kB
TypeScript
import { FuseLoggerLevel } from './FuseLoggerLevel';
import { TSerializable } from './TSerializable';
export interface INativeLogEntry {
level: FuseLoggerLevel;
message: string;
}
export interface IFuseLogger {
/**
* If enabled, log calls will also be sent to the native environment and logged in the native
* syslog.
*
* @param flag - Implementors shall enable bridge logging if true
*/
enableNativeBridge: (flag: boolean) => void;
/**
* The log level to filter prints.
*
* This is a bitmask, so to enable multiple options, use the bitmask OR (|) operator.
* e.g: setLevel(INFO | WARN | ERROR)
*
* To remove a bit, you can use getLevel() to get the current mask and use &= operator along with the bit NOT (~) operator.
* e.g: mask &= INFO; // Remove INFO from log outputs
*
* @param level - The verbosity level
*/
setLevel: (level: FuseLoggerLevel) => void;
/**
* Gets the current logger level mask
*
* @returns
*/
getLevel: () => FuseLoggerLevel;
/**
* Prints debug style logs
* @param args - log arguments
* @returns
*/
debug: (...args: TSerializable[]) => void;
/**
* Prints info style logs
* @param args - log arguments
* @returns
*/
info: (...args: TSerializable[]) => void;
/**
* Prints warn style logs
* @param args - log arguments
* @returns
*/
warn: (...args: TSerializable[]) => void;
/**
* Prints error style logs
* @param args - log arguments
* @returns
*/
error: (...args: TSerializable[]) => void;
}