@logtape/logtape 0.11.0-dev.175 → 0.12.0-dev.181
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config.test.ts +591 -0
- package/config.ts +421 -0
- package/context.test.ts +187 -0
- package/context.ts +55 -0
- package/deno.json +36 -0
- package/dist/_virtual/rolldown_runtime.cjs +30 -0
- package/dist/config.cjs +247 -0
- package/dist/config.d.cts +189 -0
- package/dist/config.d.cts.map +1 -0
- package/dist/config.d.ts +189 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +241 -0
- package/dist/config.js.map +1 -0
- package/dist/context.cjs +30 -0
- package/dist/context.d.cts +39 -0
- package/dist/context.d.cts.map +1 -0
- package/dist/context.d.ts +39 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +31 -0
- package/dist/context.js.map +1 -0
- package/dist/filter.cjs +32 -0
- package/dist/filter.d.cts +37 -0
- package/dist/filter.d.cts.map +1 -0
- package/{types → dist}/filter.d.ts +12 -6
- package/dist/filter.d.ts.map +1 -0
- package/dist/filter.js +31 -0
- package/dist/filter.js.map +1 -0
- package/dist/formatter.cjs +281 -0
- package/dist/formatter.d.cts +338 -0
- package/dist/formatter.d.cts.map +1 -0
- package/dist/formatter.d.ts +338 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +275 -0
- package/dist/formatter.js.map +1 -0
- package/dist/level.cjs +64 -0
- package/dist/level.d.cts +34 -0
- package/dist/level.d.cts.map +1 -0
- package/{types → dist}/level.d.ts +7 -5
- package/dist/level.d.ts.map +1 -0
- package/dist/level.js +62 -0
- package/dist/level.js.map +1 -0
- package/dist/logger.cjs +351 -0
- package/dist/logger.d.cts +501 -0
- package/dist/logger.d.cts.map +1 -0
- package/dist/logger.d.ts +501 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +351 -0
- package/dist/logger.js.map +1 -0
- package/dist/mod.cjs +33 -0
- package/dist/mod.d.cts +9 -0
- package/dist/mod.d.ts +9 -0
- package/dist/mod.js +9 -0
- package/dist/record.d.cts +50 -0
- package/dist/record.d.cts.map +1 -0
- package/dist/record.d.ts +50 -0
- package/dist/record.d.ts.map +1 -0
- package/dist/sink.cjs +95 -0
- package/dist/sink.d.cts +112 -0
- package/dist/sink.d.cts.map +1 -0
- package/{types → dist}/sink.d.ts +49 -45
- package/dist/sink.d.ts.map +1 -0
- package/dist/sink.js +94 -0
- package/dist/sink.js.map +1 -0
- package/dist/util.cjs +9 -0
- package/dist/util.d.cts +12 -0
- package/dist/util.d.cts.map +1 -0
- package/dist/util.d.ts +12 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.deno.cjs +16 -0
- package/dist/util.deno.d.cts +12 -0
- package/dist/util.deno.d.cts.map +1 -0
- package/dist/util.deno.d.ts +12 -0
- package/dist/util.deno.d.ts.map +1 -0
- package/dist/util.deno.js +16 -0
- package/dist/util.deno.js.map +1 -0
- package/dist/util.js +9 -0
- package/dist/util.js.map +1 -0
- package/dist/util.node.cjs +10 -0
- package/dist/util.node.d.cts +12 -0
- package/dist/util.node.d.cts.map +1 -0
- package/dist/util.node.d.ts +12 -0
- package/dist/util.node.d.ts.map +1 -0
- package/dist/util.node.js +10 -0
- package/dist/util.node.js.map +1 -0
- package/filter.test.ts +70 -0
- package/filter.ts +57 -0
- package/fixtures.ts +30 -0
- package/formatter.test.ts +530 -0
- package/formatter.ts +724 -0
- package/level.test.ts +47 -0
- package/level.ts +67 -0
- package/logger.test.ts +823 -0
- package/logger.ts +1124 -0
- package/mod.ts +54 -0
- package/package.json +35 -23
- package/record.ts +49 -0
- package/sink.test.ts +219 -0
- package/sink.ts +167 -0
- package/tsdown.config.ts +24 -0
- package/util.deno.ts +19 -0
- package/util.node.ts +12 -0
- package/util.ts +11 -0
- package/esm/_dnt.shims.js +0 -57
- package/esm/config.js +0 -297
- package/esm/context.js +0 -23
- package/esm/filter.js +0 -42
- package/esm/formatter.js +0 -370
- package/esm/level.js +0 -59
- package/esm/logger.js +0 -517
- package/esm/mod.js +0 -8
- package/esm/nodeUtil.cjs +0 -20
- package/esm/nodeUtil.js +0 -2
- package/esm/package.json +0 -3
- package/esm/record.js +0 -1
- package/esm/sink.js +0 -96
- package/script/_dnt.shims.js +0 -60
- package/script/config.js +0 -331
- package/script/context.js +0 -26
- package/script/filter.js +0 -46
- package/script/formatter.js +0 -380
- package/script/level.js +0 -64
- package/script/logger.js +0 -548
- package/script/mod.js +0 -36
- package/script/nodeUtil.js +0 -20
- package/script/package.json +0 -3
- package/script/record.js +0 -2
- package/script/sink.js +0 -101
- package/types/_dnt.shims.d.ts +0 -2
- package/types/_dnt.shims.d.ts.map +0 -1
- package/types/_dnt.test_shims.d.ts.map +0 -1
- package/types/config.d.ts +0 -183
- package/types/config.d.ts.map +0 -1
- package/types/config.test.d.ts.map +0 -1
- package/types/context.d.ts +0 -35
- package/types/context.d.ts.map +0 -1
- package/types/context.test.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/_constants.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/_diff.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/_format.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assert.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_equals.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_false.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_greater_or_equal.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_is_error.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_less_or_equal.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_rejects.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_strict_equals.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_throws.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/assertion_error.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/0.222.1/equal.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/async/0.222.1/delay.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/fmt/0.222.1/colors.d.ts.map +0 -1
- package/types/filter.d.ts.map +0 -1
- package/types/filter.test.d.ts.map +0 -1
- package/types/fixtures.d.ts.map +0 -1
- package/types/formatter.d.ts +0 -332
- package/types/formatter.d.ts.map +0 -1
- package/types/formatter.test.d.ts.map +0 -1
- package/types/level.d.ts.map +0 -1
- package/types/level.test.d.ts.map +0 -1
- package/types/logger.d.ts +0 -573
- package/types/logger.d.ts.map +0 -1
- package/types/logger.test.d.ts.map +0 -1
- package/types/mod.d.ts +0 -9
- package/types/mod.d.ts.map +0 -1
- package/types/nodeUtil.d.ts +0 -12
- package/types/nodeUtil.d.ts.map +0 -1
- package/types/record.d.ts +0 -44
- package/types/record.d.ts.map +0 -1
- package/types/sink.d.ts.map +0 -1
- package/types/sink.test.d.ts.map +0 -1
package/level.test.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { suite } from "@hongminhee/suite";
|
|
2
|
+
import { assert } from "@std/assert/assert";
|
|
3
|
+
import { assertEquals } from "@std/assert/equals";
|
|
4
|
+
import { assertFalse } from "@std/assert/false";
|
|
5
|
+
import { assertThrows } from "@std/assert/throws";
|
|
6
|
+
import {
|
|
7
|
+
compareLogLevel,
|
|
8
|
+
isLogLevel,
|
|
9
|
+
type LogLevel,
|
|
10
|
+
parseLogLevel,
|
|
11
|
+
} from "./level.ts";
|
|
12
|
+
|
|
13
|
+
const test = suite(import.meta);
|
|
14
|
+
|
|
15
|
+
test("parseLogLevel()", () => {
|
|
16
|
+
assertEquals(parseLogLevel("debug"), "debug");
|
|
17
|
+
assertEquals(parseLogLevel("info"), "info");
|
|
18
|
+
assertEquals(parseLogLevel("warning"), "warning");
|
|
19
|
+
assertEquals(parseLogLevel("error"), "error");
|
|
20
|
+
assertEquals(parseLogLevel("fatal"), "fatal");
|
|
21
|
+
assertEquals(parseLogLevel("DEBUG"), "debug");
|
|
22
|
+
assertEquals(parseLogLevel("INFO"), "info");
|
|
23
|
+
assertEquals(parseLogLevel("WARNING"), "warning");
|
|
24
|
+
assertEquals(parseLogLevel("ERROR"), "error");
|
|
25
|
+
assertEquals(parseLogLevel("FATAL"), "fatal");
|
|
26
|
+
assertThrows(
|
|
27
|
+
() => parseLogLevel("invalid"),
|
|
28
|
+
TypeError,
|
|
29
|
+
"Invalid log level: invalid.",
|
|
30
|
+
);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
test("isLogLevel()", () => {
|
|
34
|
+
assert(isLogLevel("debug"));
|
|
35
|
+
assert(isLogLevel("info"));
|
|
36
|
+
assert(isLogLevel("warning"));
|
|
37
|
+
assert(isLogLevel("error"));
|
|
38
|
+
assert(isLogLevel("fatal"));
|
|
39
|
+
assertFalse(isLogLevel("DEBUG"));
|
|
40
|
+
assertFalse(isLogLevel("invalid"));
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
test("compareLogLevel()", () => {
|
|
44
|
+
const levels: LogLevel[] = ["info", "debug", "error", "warning", "fatal"];
|
|
45
|
+
levels.sort(compareLogLevel);
|
|
46
|
+
assertEquals(levels, ["debug", "info", "warning", "error", "fatal"]);
|
|
47
|
+
});
|
package/level.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
const logLevels = ["debug", "info", "warning", "error", "fatal"] as const;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The severity level of a {@link LogRecord}.
|
|
5
|
+
*/
|
|
6
|
+
export type LogLevel = typeof logLevels[number];
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Parses a log level from a string.
|
|
10
|
+
*
|
|
11
|
+
* @param level The log level as a string. This is case-insensitive.
|
|
12
|
+
* @returns The log level.
|
|
13
|
+
* @throws {TypeError} If the log level is invalid.
|
|
14
|
+
*/
|
|
15
|
+
export function parseLogLevel(level: string): LogLevel {
|
|
16
|
+
level = level.toLowerCase();
|
|
17
|
+
switch (level) {
|
|
18
|
+
case "debug":
|
|
19
|
+
case "info":
|
|
20
|
+
case "warning":
|
|
21
|
+
case "error":
|
|
22
|
+
case "fatal":
|
|
23
|
+
return level;
|
|
24
|
+
default:
|
|
25
|
+
throw new TypeError(`Invalid log level: ${level}.`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Checks if a string is a valid log level. This function can be used as
|
|
31
|
+
* as a type guard to narrow the type of a string to a {@link LogLevel}.
|
|
32
|
+
*
|
|
33
|
+
* @param level The log level as a string. This is case-sensitive.
|
|
34
|
+
* @returns `true` if the string is a valid log level.
|
|
35
|
+
*/
|
|
36
|
+
export function isLogLevel(level: string): level is LogLevel {
|
|
37
|
+
switch (level) {
|
|
38
|
+
case "debug":
|
|
39
|
+
case "info":
|
|
40
|
+
case "warning":
|
|
41
|
+
case "error":
|
|
42
|
+
case "fatal":
|
|
43
|
+
return true;
|
|
44
|
+
default:
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Compares two log levels.
|
|
51
|
+
* @param a The first log level.
|
|
52
|
+
* @param b The second log level.
|
|
53
|
+
* @returns A negative number if `a` is less than `b`, a positive number if `a`
|
|
54
|
+
* is greater than `b`, or zero if they are equal.
|
|
55
|
+
* @since 0.8.0
|
|
56
|
+
*/
|
|
57
|
+
export function compareLogLevel(a: LogLevel, b: LogLevel): number {
|
|
58
|
+
const aIndex = logLevels.indexOf(a);
|
|
59
|
+
if (aIndex < 0) {
|
|
60
|
+
throw new TypeError(`Invalid log level: ${JSON.stringify(a)}.`);
|
|
61
|
+
}
|
|
62
|
+
const bIndex = logLevels.indexOf(b);
|
|
63
|
+
if (bIndex < 0) {
|
|
64
|
+
throw new TypeError(`Invalid log level: ${JSON.stringify(b)}.`);
|
|
65
|
+
}
|
|
66
|
+
return aIndex - bIndex;
|
|
67
|
+
}
|