JavaScriptでロガーをシングルトンで構築する
code:javascript
class LoggerCore {
constructor() {
this.console = window.console;
this.format = new Date().toISOString();
}
debug(msg) {
this.console.debug([${this.format}] ${msg});
}
}
const Logger = (() => {
let instance; // シングルトンインスタンスを保持する変数
return {
getLogger: () => {
if (!instance) {
instance = new LoggerCore(); // 初回呼び出し時にのみインスタンスを作成
}
return instance;
}
};
})();
const myLogger = Logger.getLogger();
myLogger.debug("Hello");