-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlogger.js
More file actions
39 lines (33 loc) · 946 Bytes
/
logger.js
File metadata and controls
39 lines (33 loc) · 946 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
* Logger — suppresses console output in production builds.
*
* Usage: const log = require('./logger');
* log('hello'); // like console.log
* log.warn('uh oh'); // like console.warn
* log.error('bad'); // console.error — ALWAYS printed (even in prod)
*/
let _isDev = null;
function isDev() {
if (_isDev !== null) return _isDev;
if (process.env.ELECTRON_IS_DEV || process.env.NODE_ENV === 'development') {
_isDev = true;
return true;
}
try {
_isDev = !require('electron').app.isPackaged;
} catch {
_isDev = true; // fallback: assume dev if electron isn't ready yet
}
return _isDev;
}
function log(...args) {
if (isDev()) console.log(...args);
}
log.warn = function (...args) {
if (isDev()) console.warn(...args);
};
// Errors always print — needed for crash diagnostics
log.error = function (...args) {
console.error(...args);
};
module.exports = log;