mirror of
https://github.com/fluencelabs/fluence-js.git
synced 2025-06-16 17:41:21 +00:00
feat(logs): Use debug.js
library for logging [DXJ-327] (#285)
This commit is contained in:
54
packages/core/js-peer/src/util/logger.ts
Normal file
54
packages/core/js-peer/src/util/logger.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import debug from 'debug';
|
||||
import { Particle } from '../js-peer/Particle.js';
|
||||
|
||||
// Format avm data as a string
|
||||
debug.formatters.a = (avmData: Uint8Array) => {
|
||||
return new TextDecoder().decode(Buffer.from(avmData));
|
||||
};
|
||||
|
||||
type Logger = (formatter: any, ...args: any[]) => void;
|
||||
|
||||
export interface CommonLogger {
|
||||
error: Logger;
|
||||
trace: Logger;
|
||||
debug: Logger;
|
||||
}
|
||||
|
||||
export interface MarineLogger {
|
||||
warn: Logger;
|
||||
error: Logger;
|
||||
debug: Logger;
|
||||
trace: Logger;
|
||||
info: Logger;
|
||||
}
|
||||
|
||||
export function logger(name: string): CommonLogger {
|
||||
return {
|
||||
error: debug(`fluence:${name}:error`),
|
||||
trace: debug(`fluence:${name}:trace`),
|
||||
debug: debug(`fluence:${name}:debug`),
|
||||
};
|
||||
}
|
||||
|
||||
export function marineLogger(serviceId: string): MarineLogger {
|
||||
const name = `fluence:marine:${serviceId}`;
|
||||
return {
|
||||
warn: debug(`${name}:warn`),
|
||||
error: debug(`${name}:error`),
|
||||
debug: debug(`${name}:debug`),
|
||||
trace: debug(`${name}:trace`),
|
||||
info: debug(`${name}:info`),
|
||||
};
|
||||
}
|
||||
|
||||
export function disable() {
|
||||
debug.disable();
|
||||
}
|
||||
|
||||
export function enable(namespaces: string) {
|
||||
debug.enable(namespaces);
|
||||
}
|
||||
|
||||
export function enabled(namespaces: string) {
|
||||
return debug.enabled(namespaces);
|
||||
}
|
Reference in New Issue
Block a user