@abbacchio/transport 0.1.5 → 0.2.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/client.d.ts +118 -71
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +397 -118
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/transports/bunyan.d.ts +6 -44
- package/dist/transports/bunyan.d.ts.map +1 -1
- package/dist/transports/bunyan.js +9 -62
- package/dist/transports/bunyan.js.map +1 -1
- package/dist/transports/console.d.ts +16 -7
- package/dist/transports/console.d.ts.map +1 -1
- package/dist/transports/console.js +16 -48
- package/dist/transports/console.js.map +1 -1
- package/dist/transports/pino.d.ts +13 -26
- package/dist/transports/pino.d.ts.map +1 -1
- package/dist/transports/pino.js +15 -43
- package/dist/transports/pino.js.map +1 -1
- package/dist/transports/winston.d.ts +6 -46
- package/dist/transports/winston.d.ts.map +1 -1
- package/dist/transports/winston.js +9 -64
- package/dist/transports/winston.js.map +1 -1
- package/package.json +2 -2
- package/src/client.ts +487 -129
- package/src/index.ts +1 -1
- package/src/tests/histogram.test.ts +189 -0
- package/src/transports/bunyan.ts +9 -68
- package/src/transports/console.ts +16 -49
- package/src/transports/pino.ts +19 -58
- package/src/transports/winston.ts +9 -71
- package/tsconfig.json +1 -1
|
@@ -5,21 +5,19 @@ export interface WinstonTransportOptions extends AbbacchioClientOptions {
|
|
|
5
5
|
level?: string;
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
|
-
* Winston transport for Abbacchio.
|
|
9
|
-
* Extends winston-transport for proper integration.
|
|
8
|
+
* Winston transport for Abbacchio (OTLP native).
|
|
10
9
|
*
|
|
11
10
|
* @example
|
|
12
11
|
* ```typescript
|
|
13
12
|
* import winston from "winston";
|
|
14
|
-
* import { AbbacchioWinstonTransport } from "@abbacchio/
|
|
13
|
+
* import { AbbacchioWinstonTransport } from "@abbacchio/transport/transports/winston";
|
|
15
14
|
*
|
|
16
15
|
* const logger = winston.createLogger({
|
|
17
16
|
* transports: [
|
|
18
17
|
* new winston.transports.Console(),
|
|
19
18
|
* new AbbacchioWinstonTransport({
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* secretKey: "optional-encryption-key",
|
|
19
|
+
* endpoint: "http://localhost:4002",
|
|
20
|
+
* serviceName: "my-app",
|
|
23
21
|
* }),
|
|
24
22
|
* ],
|
|
25
23
|
* });
|
|
@@ -30,54 +28,16 @@ export interface WinstonTransportOptions extends AbbacchioClientOptions {
|
|
|
30
28
|
export declare class AbbacchioWinstonTransport extends TransportStream {
|
|
31
29
|
private client;
|
|
32
30
|
constructor(opts?: WinstonTransportOptions);
|
|
33
|
-
/**
|
|
34
|
-
* Winston log method - called for each log entry
|
|
35
|
-
*/
|
|
36
31
|
log(info: Record<string, unknown>, callback: () => void): void;
|
|
37
|
-
/**
|
|
38
|
-
* Transform Winston log format to a normalized format
|
|
39
|
-
*/
|
|
40
32
|
private transformLog;
|
|
41
|
-
/**
|
|
42
|
-
* Convert Winston level string to Pino-style number
|
|
43
|
-
*/
|
|
44
33
|
private levelToNumber;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
*/
|
|
48
|
-
setChannel(channel: string | undefined): void;
|
|
49
|
-
/**
|
|
50
|
-
* Get the current channel
|
|
51
|
-
*/
|
|
52
|
-
getChannel(): string | undefined;
|
|
53
|
-
/**
|
|
54
|
-
* Change the namespace dynamically
|
|
55
|
-
*/
|
|
56
|
-
setNamespace(namespace: string | undefined): void;
|
|
57
|
-
/**
|
|
58
|
-
* Get the current namespace
|
|
59
|
-
*/
|
|
60
|
-
getNamespace(): string | undefined;
|
|
61
|
-
/**
|
|
62
|
-
* Enable sending logs to the server
|
|
63
|
-
*/
|
|
34
|
+
setServiceName(name: string): void;
|
|
35
|
+
getServiceName(): string;
|
|
64
36
|
enable(): void;
|
|
65
|
-
/**
|
|
66
|
-
* Disable sending logs to the server
|
|
67
|
-
*/
|
|
68
37
|
disable(): void;
|
|
69
|
-
/**
|
|
70
|
-
* Check if the client is currently enabled
|
|
71
|
-
*/
|
|
72
38
|
isEnabled(): boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Close the transport
|
|
75
|
-
*/
|
|
76
39
|
close(): void;
|
|
77
40
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Factory function to create a Winston transport
|
|
80
|
-
*/
|
|
81
41
|
export declare function winstonTransport(opts?: WinstonTransportOptions): AbbacchioWinstonTransport;
|
|
82
42
|
export default winstonTransport;
|
|
83
43
|
//# sourceMappingURL=winston.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"winston.d.ts","sourceRoot":"","sources":["../../src/transports/winston.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE5E,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB;IACrE,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED
|
|
1
|
+
{"version":3,"file":"winston.d.ts","sourceRoot":"","sources":["../../src/transports/winston.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE5E,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB;IACrE,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,yBAA0B,SAAQ,eAAe;IAC5D,OAAO,CAAC,MAAM,CAAkB;gBAEpB,IAAI,GAAE,uBAA4B;IAK9C,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAU9D,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,aAAa;IAarB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAClC,cAAc,IAAI,MAAM;IACxB,MAAM,IAAI,IAAI;IACd,OAAO,IAAI,IAAI;IACf,SAAS,IAAI,OAAO;IAEpB,KAAK,IAAI,IAAI;CAGd;AAED,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,uBAAuB,GAAG,yBAAyB,CAE1F;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import TransportStream from "winston-transport";
|
|
2
2
|
import { AbbacchioClient } from "../client.js";
|
|
3
3
|
/**
|
|
4
|
-
* Winston transport for Abbacchio.
|
|
5
|
-
* Extends winston-transport for proper integration.
|
|
4
|
+
* Winston transport for Abbacchio (OTLP native).
|
|
6
5
|
*
|
|
7
6
|
* @example
|
|
8
7
|
* ```typescript
|
|
9
8
|
* import winston from "winston";
|
|
10
|
-
* import { AbbacchioWinstonTransport } from "@abbacchio/
|
|
9
|
+
* import { AbbacchioWinstonTransport } from "@abbacchio/transport/transports/winston";
|
|
11
10
|
*
|
|
12
11
|
* const logger = winston.createLogger({
|
|
13
12
|
* transports: [
|
|
14
13
|
* new winston.transports.Console(),
|
|
15
14
|
* new AbbacchioWinstonTransport({
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* secretKey: "optional-encryption-key",
|
|
15
|
+
* endpoint: "http://localhost:4002",
|
|
16
|
+
* serviceName: "my-app",
|
|
19
17
|
* }),
|
|
20
18
|
* ],
|
|
21
19
|
* });
|
|
@@ -29,21 +27,14 @@ export class AbbacchioWinstonTransport extends TransportStream {
|
|
|
29
27
|
super({ level: opts.level });
|
|
30
28
|
this.client = new AbbacchioClient(opts);
|
|
31
29
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Winston log method - called for each log entry
|
|
34
|
-
*/
|
|
35
30
|
log(info, callback) {
|
|
36
31
|
setImmediate(() => {
|
|
37
32
|
this.emit("logged", info);
|
|
38
33
|
});
|
|
39
|
-
// Transform Winston format to Abbacchio format
|
|
40
34
|
const log = this.transformLog(info);
|
|
41
35
|
this.client.add(log);
|
|
42
36
|
callback();
|
|
43
37
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Transform Winston log format to a normalized format
|
|
46
|
-
*/
|
|
47
38
|
transformLog(info) {
|
|
48
39
|
const { level, message, timestamp, ...rest } = info;
|
|
49
40
|
return {
|
|
@@ -53,9 +44,6 @@ export class AbbacchioWinstonTransport extends TransportStream {
|
|
|
53
44
|
...rest,
|
|
54
45
|
};
|
|
55
46
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Convert Winston level string to Pino-style number
|
|
58
|
-
*/
|
|
59
47
|
levelToNumber(level) {
|
|
60
48
|
const levels = {
|
|
61
49
|
error: 50,
|
|
@@ -68,58 +56,15 @@ export class AbbacchioWinstonTransport extends TransportStream {
|
|
|
68
56
|
};
|
|
69
57
|
return levels[level] || 30;
|
|
70
58
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Get the current channel
|
|
79
|
-
*/
|
|
80
|
-
getChannel() {
|
|
81
|
-
return this.client.getChannel();
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Change the namespace dynamically
|
|
85
|
-
*/
|
|
86
|
-
setNamespace(namespace) {
|
|
87
|
-
this.client.setNamespace(namespace);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Get the current namespace
|
|
91
|
-
*/
|
|
92
|
-
getNamespace() {
|
|
93
|
-
return this.client.getNamespace();
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Enable sending logs to the server
|
|
97
|
-
*/
|
|
98
|
-
enable() {
|
|
99
|
-
this.client.enable();
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Disable sending logs to the server
|
|
103
|
-
*/
|
|
104
|
-
disable() {
|
|
105
|
-
this.client.disable();
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Check if the client is currently enabled
|
|
109
|
-
*/
|
|
110
|
-
isEnabled() {
|
|
111
|
-
return this.client.isEnabled();
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Close the transport
|
|
115
|
-
*/
|
|
59
|
+
setServiceName(name) { this.client.setServiceName(name); }
|
|
60
|
+
getServiceName() { return this.client.getServiceName(); }
|
|
61
|
+
enable() { this.client.enable(); }
|
|
62
|
+
disable() { this.client.disable(); }
|
|
63
|
+
isEnabled() { return this.client.isEnabled(); }
|
|
116
64
|
close() {
|
|
117
65
|
this.client.close();
|
|
118
66
|
}
|
|
119
67
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Factory function to create a Winston transport
|
|
122
|
-
*/
|
|
123
68
|
export function winstonTransport(opts) {
|
|
124
69
|
return new AbbacchioWinstonTransport(opts);
|
|
125
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"winston.js","sourceRoot":"","sources":["../../src/transports/winston.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAA+B,MAAM,cAAc,CAAC;AAO5E
|
|
1
|
+
{"version":3,"file":"winston.js","sourceRoot":"","sources":["../../src/transports/winston.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAA+B,MAAM,cAAc,CAAC;AAO5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IACpD,MAAM,CAAkB;IAEhC,YAAY,OAAgC,EAAE;QAC5C,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG,CAAC,IAA6B,EAAE,QAAoB;QACrD,YAAY,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,QAAQ,EAAE,CAAC;IACb,CAAC;IAEO,YAAY,CAAC,IAA6B;QAChD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAEpD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAe,CAAC;YAC1C,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACtE,GAAG,IAAI;SACR,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,KAAa;QACjC,MAAM,MAAM,GAA2B;YACrC,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACV,CAAC;QACF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,IAAY,IAAU,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxE,cAAc,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,KAAW,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,KAAW,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1C,SAAS,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAExD,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,IAA8B;IAC7D,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abbacchio/transport",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Node.js
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "OTLP-native Node.js transports for Pino, Winston, and Bunyan - send logs, metrics, and traces to Abbacchio",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|