Skip to content

Commit 1949d1a

Browse files
committed
override and freeze console methods
1 parent 741619c commit 1949d1a

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

packages/utils/lib/log-manager.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ class LogManager {
180180
new winston.transports.DailyRotateFile({ ...this._config.fileOptions, filename: this.getFilePath('launchpad-error', false), level: 'error'}),
181181
],
182182
});
183+
184+
this.overrideConsoleMethods();
183185
}
184186

185187
/**
@@ -209,6 +211,25 @@ class LogManager {
209211
}
210212
return output;
211213
}
214+
215+
216+
/**
217+
* Overrides console methods to use the parent logger instead
218+
* @private
219+
*/
220+
overrideConsoleMethods() {
221+
// Override console methods
222+
const logger = this.getLogger();
223+
console.log = logger.info.bind(logger);
224+
console.info = logger.info.bind(logger);
225+
console.warn = logger.warn.bind(logger);
226+
console.error = logger.error.bind(logger);
227+
console.debug = logger.debug.bind(logger);
228+
229+
// PM2 will try to override the console methods with it's own logger
230+
// so we're freezing console here to prevent that from happening
231+
Object.freeze(console);
232+
}
212233

213234
}
214235

0 commit comments

Comments
 (0)