UNPKG

@silver-zepp/vis-log

Version:

An on-screen logger for ZeppOS Mini apps.

1 lines 1.35 kB
export class VisLogSideCore{static DEFAULT_DEBUG_KEY_PREFIX="_vislog_";static LOG_LEVELS=["LOG","INFO","WARN","ERROR","DEBUG"];_dbg_key_prefix="_vislog_";_log_counter=0;_enabled=true;_filename="";constructor(options={}){this._dbg_key_prefix=options.debug_key_prefix||VisLogSideCore.DEFAULT_DEBUG_KEY_PREFIX;this._filename=options.filename||"";this._enabled=options.enabled!==false;this._log_counter=0}log(...args){this._writeLog("LOG",...args)}info(...args){this._writeLog("INFO",...args)}warn(...args){this._writeLog("WARN",...args)}error(...args){this._writeLog("ERROR",...args)}debug(...args){this._writeLog("DEBUG",...args)}setEnabled(enabled){this._enabled=enabled}getEnabled(){return this._enabled}getFilename(){return this._filename}getDebugKeyPrefix(){return this._dbg_key_prefix}getNextCounter(){return this._log_counter++}createLogEntry(level,message,source){return{timestamp:Date.now(),level:level,message:message,filename:this._filename,counter:this.getNextCounter(),source:source}}formatMessage(...args){return args.map(arg=>typeof arg==="string"?arg:JSON.stringify(arg)).join(" ")}consoleLog(level,message){console.log(`[${level}]${this._filename?` [${this._filename}]`:""} ${message}`)}_writeLog(level,...args){}static validateLogEntry(log_entry){return log_entry&&log_entry.level&&log_entry.message}}export default VisLogSideCore;