aboutsummaryrefslogtreecommitdiffstats
path: root/packages/main/src/utils/logging.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/main/src/utils/logging.ts')
-rw-r--r--packages/main/src/utils/logging.ts28
1 files changed, 22 insertions, 6 deletions
diff --git a/packages/main/src/utils/logging.ts b/packages/main/src/utils/logging.ts
index 66f9068..9f1133f 100644
--- a/packages/main/src/utils/logging.ts
+++ b/packages/main/src/utils/logging.ts
@@ -18,16 +18,32 @@
18 * SPDX-License-Identifier: AGPL-3.0-only 18 * SPDX-License-Identifier: AGPL-3.0-only
19 */ 19 */
20 20
21import consola, { BasicReporter, Consola } from 'consola'; 21import loglevel, { Logger } from 'loglevel';
22import prefix from 'loglevel-plugin-prefix';
22 23
23const isDevelopment = import.meta.env.MODE === 'development'; 24const isDevelopment = import.meta.env.MODE === 'development';
24 25
25if (isDevelopment) { 26if (isDevelopment) {
26 // No fancy console in dev mode. 27 loglevel.enableAll();
27 consola.setReporters([new BasicReporter()]);
28 consola.level = 4;
29} 28}
30 29
31export function getLogger(loggerName: string): Consola { 30prefix.reg(loglevel);
32 return consola.withTag(`sophie:${loggerName}`); 31prefix.apply(loglevel, {
32 format(level, name, timestamp) {
33 let shortName = 'global';
34 if (name !== undefined) {
35 const nameSegments = name.split(':');
36 const lastSegment = nameSegments.pop();
37 shortName = [...nameSegments.map((segment) => segment[0]), lastSegment].join(':');
38 }
39 if (isDevelopment) {
40 // `watch.js` already appends timestamps.
41 return `${level} (${shortName})`;
42 }
43 return `[${timestamp}] ${level} (${shortName})`;
44 },
45});
46
47export function getLogger(loggerName: string): Logger {
48 return loglevel.getLogger(`sophie:${loggerName}`);
33} 49}