@mclawnet/logger 0.1.0
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/dist/browser.d.ts +17 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +65 -0
- package/dist/browser.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type LogLevel = "debug" | "info" | "warn" | "error";
|
|
2
|
+
interface BrowserLoggerOptions {
|
|
3
|
+
module: string;
|
|
4
|
+
level?: LogLevel;
|
|
5
|
+
sessionId?: string;
|
|
6
|
+
swarmId?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface BrowserLogger {
|
|
9
|
+
debug: (msgOrObj: string | Record<string, unknown>, ...args: unknown[]) => void;
|
|
10
|
+
info: (msgOrObj: string | Record<string, unknown>, ...args: unknown[]) => void;
|
|
11
|
+
warn: (msgOrObj: string | Record<string, unknown>, ...args: unknown[]) => void;
|
|
12
|
+
error: (msgOrObj: string | Record<string, unknown>, ...args: unknown[]) => void;
|
|
13
|
+
child: (bindings: Record<string, string>) => BrowserLogger;
|
|
14
|
+
}
|
|
15
|
+
export declare function createBrowserLogger(opts: BrowserLoggerOptions): BrowserLogger;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAWpD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChF,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC/E,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC/E,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChF,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,aAAa,CAAC;CAC5D;AAmBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAmC7E"}
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
const LEVEL_ORDER = { debug: 0, info: 1, warn: 2, error: 3 };
|
|
2
|
+
const LOG_METHODS = {
|
|
3
|
+
debug: console.debug.bind(console),
|
|
4
|
+
info: console.log.bind(console),
|
|
5
|
+
warn: console.warn.bind(console),
|
|
6
|
+
error: console.error.bind(console),
|
|
7
|
+
};
|
|
8
|
+
function shouldLog(current, threshold) {
|
|
9
|
+
return LEVEL_ORDER[current] >= LEVEL_ORDER[threshold];
|
|
10
|
+
}
|
|
11
|
+
// Note: import.meta.env is Vite-specific, fallback for non-Vite environments
|
|
12
|
+
const getGlobalLevel = () => {
|
|
13
|
+
if (typeof window !== "undefined") {
|
|
14
|
+
const stored = localStorage.getItem("LOG_LEVEL");
|
|
15
|
+
if (stored && stored in LEVEL_ORDER)
|
|
16
|
+
return stored;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
// @ts-ignore - Vite-specific
|
|
20
|
+
if (import.meta.env?.DEV)
|
|
21
|
+
return "debug";
|
|
22
|
+
}
|
|
23
|
+
catch { }
|
|
24
|
+
return "warn";
|
|
25
|
+
};
|
|
26
|
+
export function createBrowserLogger(opts) {
|
|
27
|
+
const level = opts.level ?? getGlobalLevel();
|
|
28
|
+
const prefix = `[${opts.module}]`;
|
|
29
|
+
const ctx = {};
|
|
30
|
+
if (opts.sessionId)
|
|
31
|
+
ctx.sessionId = opts.sessionId;
|
|
32
|
+
if (opts.swarmId)
|
|
33
|
+
ctx.swarmId = opts.swarmId;
|
|
34
|
+
const hasCtx = Object.keys(ctx).length > 0;
|
|
35
|
+
function makeMethod(lvl) {
|
|
36
|
+
return (msgOrObj, ...args) => {
|
|
37
|
+
if (!shouldLog(lvl, level))
|
|
38
|
+
return;
|
|
39
|
+
const fn = LOG_METHODS[lvl];
|
|
40
|
+
if (typeof msgOrObj === "object") {
|
|
41
|
+
fn(prefix, msgOrObj, ...args);
|
|
42
|
+
}
|
|
43
|
+
else if (hasCtx) {
|
|
44
|
+
fn(prefix, ctx, msgOrObj, ...args);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
fn(prefix, msgOrObj, ...args);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
debug: makeMethod("debug"),
|
|
53
|
+
info: makeMethod("info"),
|
|
54
|
+
warn: makeMethod("warn"),
|
|
55
|
+
error: makeMethod("error"),
|
|
56
|
+
child(bindings) {
|
|
57
|
+
return createBrowserLogger({
|
|
58
|
+
...opts,
|
|
59
|
+
...bindings,
|
|
60
|
+
module: bindings.module ?? opts.module,
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import pino from "pino";
|
|
2
|
+
export type LogModule = "hub" | "ws/agent" | "ws/chat" | "agent" | "claude" | "swarm" | "swarm/router" | "db" | "migrate" | "gateway";
|
|
3
|
+
export interface CreateLoggerOptions {
|
|
4
|
+
module: LogModule | string;
|
|
5
|
+
level?: pino.Level;
|
|
6
|
+
sessionId?: string;
|
|
7
|
+
swarmId?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function createLogger(opts: CreateLoggerOptions): pino.Logger;
|
|
10
|
+
export declare function getRootLogger(): pino.Logger;
|
|
11
|
+
export type { pino };
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,MAAM,SAAS,GACjB,KAAK,GACL,UAAU,GACV,SAAS,GACT,OAAO,GACP,QAAQ,GACR,OAAO,GACP,cAAc,GACd,IAAI,GACJ,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAyBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAKnE;AAED,wBAAgB,aAAa,IAAI,IAAI,CAAC,MAAM,CAE3C;AAED,YAAY,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import pino from "pino";
|
|
2
|
+
const isDev = process.env.NODE_ENV !== "production";
|
|
3
|
+
const rootLogger = pino({
|
|
4
|
+
level: process.env.LOG_LEVEL ?? (isDev ? "debug" : "info"),
|
|
5
|
+
transport: isDev
|
|
6
|
+
? {
|
|
7
|
+
target: "pino-pretty",
|
|
8
|
+
options: {
|
|
9
|
+
colorize: true,
|
|
10
|
+
ignore: "pid,hostname",
|
|
11
|
+
translateTime: "HH:MM:ss.l",
|
|
12
|
+
messageFormat: "[{module}] {msg}",
|
|
13
|
+
},
|
|
14
|
+
}
|
|
15
|
+
: undefined,
|
|
16
|
+
formatters: {
|
|
17
|
+
level(label) {
|
|
18
|
+
return { level: label };
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
timestamp: pino.stdTimeFunctions.isoTime,
|
|
22
|
+
});
|
|
23
|
+
export function createLogger(opts) {
|
|
24
|
+
const bindings = { module: opts.module };
|
|
25
|
+
if (opts.sessionId)
|
|
26
|
+
bindings.sessionId = opts.sessionId;
|
|
27
|
+
if (opts.swarmId)
|
|
28
|
+
bindings.swarmId = opts.swarmId;
|
|
29
|
+
return rootLogger.child(bindings);
|
|
30
|
+
}
|
|
31
|
+
export function getRootLogger() {
|
|
32
|
+
return rootLogger;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAqBxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAEpD,MAAM,UAAU,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,SAAS,EAAE,KAAK;QACd,CAAC,CAAC;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,cAAc;gBACtB,aAAa,EAAE,YAAY;gBAC3B,aAAa,EAAE,kBAAkB;aAClC;SACF;QACH,CAAC,CAAC,SAAS;IACb,UAAU,EAAE;QACV,KAAK,CAAC,KAAK;YACT,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;KACF;IACD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO;CACzC,CAAC,CAAC;AAEH,MAAM,UAAU,YAAY,CAAC,IAAyB;IACpD,MAAM,QAAQ,GAA2B,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACjE,IAAI,IAAI,CAAC,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACxD,IAAI,IAAI,CAAC,OAAO;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAClD,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mclawnet/logger",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": {
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"default": "./dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"./browser": {
|
|
11
|
+
"types": "./dist/browser.d.ts",
|
|
12
|
+
"default": "./dist/browser.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"pino": "^9.6.0"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"pino-pretty": "^13.0.0",
|
|
26
|
+
"typescript": "^5.8.3"
|
|
27
|
+
},
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"clean": "rm -rf dist"
|
|
31
|
+
}
|
|
32
|
+
}
|