Ideas for a better logging utility?

Hey @polkaset ,

I know some logging libraries exist on npm and you should be able to use them on Wix. I personally build my own logging system because I only needed some basic requirements.

Something like

export const INFO_LEVEL = 1
export const DEBUG_LEVEL = 0

export Class Logger {
    constructor(level, module = "", method="") {
        this.level = level
    }
    
    info(method, message) {
        if(this.level >= INFO_LEVEL) console.info("["+this.module+"]","["+method+"]", message)
    }
    
    debug(method, message) {
        if(this.level >= DEBUG_LEVEL)console.log("["+this.module+"]","["+method+"]", message)
    }
}

You can then use dependency injection to create your Object

export default class MyClass {
  constructor(logger) {
    this.logger = logger
  }
   ...
  myMethod() {
    logger.info("myMethod", "some log message");
  }

Then you use it like this

//Page code
import {Logger, DEBUG_LEVEL) from 'public/utils/Logger.js'
import MyClass from 'public/class/MyClass.js'

const logger = new Logger(DEBUG_LEVEL)// Change the level to filter logs
const my1 = new MyClass(logger);

Does it seem like a solution for you?