diff options
author | Kristóf Marussy <kristof@marussy.com> | 2021-12-28 20:13:45 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2021-12-28 20:13:45 +0100 |
commit | 5c38af061348ec604337280009775832edc66270 (patch) | |
tree | 4047f1e120116c8e2f893d9173b2f60e9ca36525 /packages/main/src/utils/logging.ts | |
parent | refactor: Simpler logging with loglevel (diff) | |
download | sophie-5c38af061348ec604337280009775832edc66270.tar.gz sophie-5c38af061348ec604337280009775832edc66270.tar.zst sophie-5c38af061348ec604337280009775832edc66270.zip |
refactor: Switch back to consola for prettyness
Diffstat (limited to 'packages/main/src/utils/logging.ts')
-rw-r--r-- | packages/main/src/utils/logging.ts | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/packages/main/src/utils/logging.ts b/packages/main/src/utils/logging.ts index 9f1133f..66f9068 100644 --- a/packages/main/src/utils/logging.ts +++ b/packages/main/src/utils/logging.ts | |||
@@ -18,32 +18,16 @@ | |||
18 | * SPDX-License-Identifier: AGPL-3.0-only | 18 | * SPDX-License-Identifier: AGPL-3.0-only |
19 | */ | 19 | */ |
20 | 20 | ||
21 | import loglevel, { Logger } from 'loglevel'; | 21 | import consola, { BasicReporter, Consola } from 'consola'; |
22 | import prefix from 'loglevel-plugin-prefix'; | ||
23 | 22 | ||
24 | const isDevelopment = import.meta.env.MODE === 'development'; | 23 | const isDevelopment = import.meta.env.MODE === 'development'; |
25 | 24 | ||
26 | if (isDevelopment) { | 25 | if (isDevelopment) { |
27 | loglevel.enableAll(); | 26 | // No fancy console in dev mode. |
27 | consola.setReporters([new BasicReporter()]); | ||
28 | consola.level = 4; | ||
28 | } | 29 | } |
29 | 30 | ||
30 | prefix.reg(loglevel); | 31 | export function getLogger(loggerName: string): Consola { |
31 | prefix.apply(loglevel, { | 32 | return consola.withTag(`sophie:${loggerName}`); |
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 | |||
47 | export function getLogger(loggerName: string): Logger { | ||
48 | return loglevel.getLogger(`sophie:${loggerName}`); | ||
49 | } | 33 | } |