@logtail/pino 0.4.6 → 0.4.9

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/README.md CHANGED
@@ -14,6 +14,7 @@ Experience SQL-compatible structured log management based on ClickHouse. [Learn
14
14
  [Getting started ⇗](https://betterstack.com/docs/logs/javascript/pino)
15
15
 
16
16
  ## Need help?
17
+
17
18
  Please let us know at [hello@betterstack.com](mailto:hello@betterstack.com). We're happy to help!
18
19
 
19
20
  ---
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,iCAA0C;AAE1C,kBAAe,uBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,iCAA0C;AAE1C,kBAAe,uBAAgB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ import build from "pino-abstract-transport";
2
3
  import { ILogtailOptions } from "@logtail/types";
3
4
  export interface PinoLog {
4
5
  level: number;
@@ -8,4 +9,4 @@ export interface IPinoLogtailOptions {
8
9
  sourceToken: string;
9
10
  options: Partial<ILogtailOptions>;
10
11
  }
11
- export declare function logtailTransport(options: IPinoLogtailOptions): Promise<import("stream").Transform & import("pino-abstract-transport").OnUnknown>;
12
+ export declare function logtailTransport(options: IPinoLogtailOptions): Promise<import("stream").Transform & build.OnUnknown>;
package/dist/cjs/pino.js CHANGED
@@ -14,52 +14,71 @@ exports.logtailTransport = void 0;
14
14
  const pino_abstract_transport_1 = __importDefault(require("pino-abstract-transport"));
15
15
  const node_1 = require("@logtail/node");
16
16
  const helpers_1 = require("./helpers");
17
- const stackContextHint = { fileName: "node_modules/pino", methodNames: ['log', 'fatal', 'error', 'warn', 'info', 'debug', 'trace', 'silent'] };
17
+ const stackContextHint = {
18
+ fileName: "node_modules/pino",
19
+ methodNames: [
20
+ "log",
21
+ "fatal",
22
+ "error",
23
+ "warn",
24
+ "info",
25
+ "debug",
26
+ "trace",
27
+ "silent",
28
+ ],
29
+ };
18
30
  async function logtailTransport(options) {
19
31
  const logtail = new node_1.Logtail(options.sourceToken, options.options);
20
32
  const buildFunc = async (source) => {
21
- var e_1, _a;
33
+ var _a, e_1, _b, _c;
22
34
  try {
23
- for (var source_1 = __asyncValues(source), source_1_1; source_1_1 = await source_1.next(), !source_1_1.done;) {
24
- let obj = source_1_1.value;
25
- // Logging meta data
26
- const meta = {};
27
- // Copy `time` if set
28
- if (typeof obj.time === "string" || obj.time.length) {
29
- const time = new Date(obj.time);
30
- if (!isNaN(time.valueOf())) {
31
- meta.dt = time;
32
- }
33
- }
34
- // Carry over any additional data fields
35
- Object.keys(obj)
36
- .filter(key => ["time", "msg", "message", "level", "v"].indexOf(key) < 0)
37
- .forEach(key => (meta[key] = obj[key]));
38
- // Get message
39
- // NOTE: Pino passes messages as obj.msg but if user passes object to Pino it will pass it to us
40
- // even without 'msg' field. Later we map 'msg' -> 'message' so let's also read 'message' field.
41
- const msg = obj.msg || obj.message;
42
- // Prevent overriding 'message' with 'msg'
43
- if (obj.msg !== undefined && obj.message !== undefined) {
44
- meta['message_field'] = obj.message;
45
- }
46
- // Determine the log level
47
- let level;
35
+ for (var _d = true, source_1 = __asyncValues(source), source_1_1; source_1_1 = await source_1.next(), _a = source_1_1.done, !_a;) {
36
+ _c = source_1_1.value;
37
+ _d = false;
48
38
  try {
49
- level = helpers_1.getLogLevel(obj.level);
39
+ let obj = _c;
40
+ // Logging meta data
41
+ const meta = {};
42
+ // Copy `time` if set
43
+ if (typeof obj.time === "string" || obj.time.length) {
44
+ const time = new Date(obj.time);
45
+ if (!isNaN(time.valueOf())) {
46
+ meta.dt = time;
47
+ }
48
+ }
49
+ // Carry over any additional data fields
50
+ Object.keys(obj)
51
+ .filter(key => ["time", "msg", "message", "level", "v"].indexOf(key) < 0)
52
+ .forEach(key => (meta[key] = obj[key]));
53
+ // Get message
54
+ // NOTE: Pino passes messages as obj.msg but if user passes object to Pino it will pass it to us
55
+ // even without 'msg' field. Later we map 'msg' -> 'message' so let's also read 'message' field.
56
+ const msg = obj.msg || obj.message;
57
+ // Prevent overriding 'message' with 'msg'
58
+ if (obj.msg !== undefined && obj.message !== undefined) {
59
+ meta["message_field"] = obj.message;
60
+ }
61
+ // Determine the log level
62
+ let level;
63
+ try {
64
+ level = (0, helpers_1.getLogLevel)(obj.level);
65
+ }
66
+ catch (_) {
67
+ console.error("Error while mapping log level.");
68
+ continue;
69
+ }
70
+ // Log to Logtail
71
+ logtail.log(msg, level, meta, stackContextHint);
50
72
  }
51
- catch (_) {
52
- console.error('Error while mapping log level.');
53
- continue;
73
+ finally {
74
+ _d = true;
54
75
  }
55
- // Log to Logtail
56
- logtail.log(msg, level, meta, stackContextHint);
57
76
  }
58
77
  }
59
78
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
60
79
  finally {
61
80
  try {
62
- if (source_1_1 && !source_1_1.done && (_a = source_1.return)) await _a.call(source_1);
81
+ if (!_d && !_a && (_b = source_1.return)) await _b.call(source_1);
63
82
  }
64
83
  finally { if (e_1) throw e_1.error; }
65
84
  }
@@ -67,7 +86,7 @@ async function logtailTransport(options) {
67
86
  const closeFunc = async () => {
68
87
  return await logtail.flush();
69
88
  };
70
- return pino_abstract_transport_1.default(buildFunc, { close: closeFunc });
89
+ return (0, pino_abstract_transport_1.default)(buildFunc, { close: closeFunc });
71
90
  }
72
91
  exports.logtailTransport = logtailTransport;
73
92
  //# sourceMappingURL=pino.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pino.js","sourceRoot":"","sources":["../../src/pino.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,sFAA2C;AAE3C,wCAAwC;AAGxC,uCAAwC;AAiBxC,MAAM,gBAAgB,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAE,EAAE,CAAC;AAE1I,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjE,MAAM,SAAS,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;;;YACtC,KAAsB,IAAA,WAAA,cAAA,MAAM,CAAA,YAAA;gBAAjB,IAAI,GAAG,mBAAA,CAAA;gBAChB,oBAAoB;gBACpB,MAAM,IAAI,GAAY,EAAE,CAAC;gBAEzB,qBAAqB;gBACrB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;oBACnD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;wBAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;qBAChB;iBACF;gBAED,wCAAwC;gBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;qBACb,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE1C,cAAc;gBACd,gGAAgG;gBAChG,sGAAsG;gBACtG,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAA;gBAElC,0CAA0C;gBAC1C,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE;oBACtD,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,OAAO,CAAA;iBACpC;gBAED,0BAA0B;gBAC1B,IAAI,KAAe,CAAC;gBAEpB,IAAI;oBACF,KAAK,GAAG,qBAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAChC;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;oBAC/C,SAAQ;iBACT;gBAED,iBAAiB;gBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAoC,CAAC,CAAC;aACrE;;;;;;;;;IACH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC,CAAC;IACF,OAAO,iCAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;AAC/C,CAAC;AAjDD,4CAiDC"}
1
+ {"version":3,"file":"pino.js","sourceRoot":"","sources":["../../src/pino.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,sFAA4C;AAE5C,wCAAwC;AAQxC,uCAAwC;AAiBxC,MAAM,gBAAgB,GAAG;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,WAAW,EAAE;QACX,KAAK;QACL,OAAO;QACP,OAAO;QACP,MAAM;QACN,MAAM;QACN,OAAO;QACP,OAAO;QACP,QAAQ;KACT;CACF,CAAC;AAEK,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAElE,MAAM,SAAS,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;;;YACtC,KAAsB,eAAA,WAAA,cAAA,MAAM,CAAA,YAAA;gBAAN,sBAAM;gBAAN,WAAM;;oBAAjB,IAAI,GAAG,KAAA,CAAA;oBAChB,oBAAoB;oBACpB,MAAM,IAAI,GAAY,EAAE,CAAC;oBAEzB,qBAAqB;oBACrB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;wBACnD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;4BAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;yBAChB;qBACF;oBAED,wCAAwC;oBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;yBACb,MAAM,CACL,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CACjE;yBACA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAE1C,cAAc;oBACd,gGAAgG;oBAChG,sGAAsG;oBACtG,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC;oBAEnC,0CAA0C;oBAC1C,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE;wBACtD,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;qBACrC;oBAED,0BAA0B;oBAC1B,IAAI,KAAe,CAAC;oBAEpB,IAAI;wBACF,KAAK,GAAG,IAAA,qBAAW,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBAChC;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBAChD,SAAS;qBACV;oBAED,iBAAiB;oBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAoC,CAAC,CAAC;;;;;aACrE;;;;;;;;;IACH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC,CAAC;IACF,OAAO,IAAA,iCAAK,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAChD,CAAC;AAnDD,4CAmDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,eAAe,gBAAgB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ import build from "pino-abstract-transport";
2
3
  import { ILogtailOptions } from "@logtail/types";
3
4
  export interface PinoLog {
4
5
  level: number;
@@ -8,4 +9,4 @@ export interface IPinoLogtailOptions {
8
9
  sourceToken: string;
9
10
  options: Partial<ILogtailOptions>;
10
11
  }
11
- export declare function logtailTransport(options: IPinoLogtailOptions): Promise<import("stream").Transform & import("pino-abstract-transport").OnUnknown>;
12
+ export declare function logtailTransport(options: IPinoLogtailOptions): Promise<import("stream").Transform & build.OnUnknown>;
package/dist/es6/pino.js CHANGED
@@ -5,55 +5,74 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
5
5
  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
6
6
  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
7
7
  };
8
- import build from 'pino-abstract-transport';
8
+ import build from "pino-abstract-transport";
9
9
  import { Logtail } from "@logtail/node";
10
10
  import { getLogLevel } from "./helpers";
11
- const stackContextHint = { fileName: "node_modules/pino", methodNames: ['log', 'fatal', 'error', 'warn', 'info', 'debug', 'trace', 'silent'] };
11
+ const stackContextHint = {
12
+ fileName: "node_modules/pino",
13
+ methodNames: [
14
+ "log",
15
+ "fatal",
16
+ "error",
17
+ "warn",
18
+ "info",
19
+ "debug",
20
+ "trace",
21
+ "silent",
22
+ ],
23
+ };
12
24
  export async function logtailTransport(options) {
13
25
  const logtail = new Logtail(options.sourceToken, options.options);
14
26
  const buildFunc = async (source) => {
15
- var e_1, _a;
27
+ var _a, e_1, _b, _c;
16
28
  try {
17
- for (var source_1 = __asyncValues(source), source_1_1; source_1_1 = await source_1.next(), !source_1_1.done;) {
18
- let obj = source_1_1.value;
19
- // Logging meta data
20
- const meta = {};
21
- // Copy `time` if set
22
- if (typeof obj.time === "string" || obj.time.length) {
23
- const time = new Date(obj.time);
24
- if (!isNaN(time.valueOf())) {
25
- meta.dt = time;
26
- }
27
- }
28
- // Carry over any additional data fields
29
- Object.keys(obj)
30
- .filter(key => ["time", "msg", "message", "level", "v"].indexOf(key) < 0)
31
- .forEach(key => (meta[key] = obj[key]));
32
- // Get message
33
- // NOTE: Pino passes messages as obj.msg but if user passes object to Pino it will pass it to us
34
- // even without 'msg' field. Later we map 'msg' -> 'message' so let's also read 'message' field.
35
- const msg = obj.msg || obj.message;
36
- // Prevent overriding 'message' with 'msg'
37
- if (obj.msg !== undefined && obj.message !== undefined) {
38
- meta['message_field'] = obj.message;
39
- }
40
- // Determine the log level
41
- let level;
29
+ for (var _d = true, source_1 = __asyncValues(source), source_1_1; source_1_1 = await source_1.next(), _a = source_1_1.done, !_a;) {
30
+ _c = source_1_1.value;
31
+ _d = false;
42
32
  try {
43
- level = getLogLevel(obj.level);
33
+ let obj = _c;
34
+ // Logging meta data
35
+ const meta = {};
36
+ // Copy `time` if set
37
+ if (typeof obj.time === "string" || obj.time.length) {
38
+ const time = new Date(obj.time);
39
+ if (!isNaN(time.valueOf())) {
40
+ meta.dt = time;
41
+ }
42
+ }
43
+ // Carry over any additional data fields
44
+ Object.keys(obj)
45
+ .filter(key => ["time", "msg", "message", "level", "v"].indexOf(key) < 0)
46
+ .forEach(key => (meta[key] = obj[key]));
47
+ // Get message
48
+ // NOTE: Pino passes messages as obj.msg but if user passes object to Pino it will pass it to us
49
+ // even without 'msg' field. Later we map 'msg' -> 'message' so let's also read 'message' field.
50
+ const msg = obj.msg || obj.message;
51
+ // Prevent overriding 'message' with 'msg'
52
+ if (obj.msg !== undefined && obj.message !== undefined) {
53
+ meta["message_field"] = obj.message;
54
+ }
55
+ // Determine the log level
56
+ let level;
57
+ try {
58
+ level = getLogLevel(obj.level);
59
+ }
60
+ catch (_) {
61
+ console.error("Error while mapping log level.");
62
+ continue;
63
+ }
64
+ // Log to Logtail
65
+ logtail.log(msg, level, meta, stackContextHint);
44
66
  }
45
- catch (_) {
46
- console.error('Error while mapping log level.');
47
- continue;
67
+ finally {
68
+ _d = true;
48
69
  }
49
- // Log to Logtail
50
- logtail.log(msg, level, meta, stackContextHint);
51
70
  }
52
71
  }
53
72
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
54
73
  finally {
55
74
  try {
56
- if (source_1_1 && !source_1_1.done && (_a = source_1.return)) await _a.call(source_1);
75
+ if (!_d && !_a && (_b = source_1.return)) await _b.call(source_1);
57
76
  }
58
77
  finally { if (e_1) throw e_1.error; }
59
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pino.js","sourceRoot":"","sources":["../../src/pino.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAiBxC,MAAM,gBAAgB,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAE,EAAE,CAAC;AAEjJ,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjE,MAAM,SAAS,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;;;YACtC,KAAsB,IAAA,WAAA,cAAA,MAAM,CAAA,YAAA;gBAAjB,IAAI,GAAG,mBAAA,CAAA;gBAChB,oBAAoB;gBACpB,MAAM,IAAI,GAAY,EAAE,CAAC;gBAEzB,qBAAqB;gBACrB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;oBACnD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;wBAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;qBAChB;iBACF;gBAED,wCAAwC;gBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;qBACb,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE1C,cAAc;gBACd,gGAAgG;gBAChG,sGAAsG;gBACtG,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAA;gBAElC,0CAA0C;gBAC1C,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE;oBACtD,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,OAAO,CAAA;iBACpC;gBAED,0BAA0B;gBAC1B,IAAI,KAAe,CAAC;gBAEpB,IAAI;oBACF,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAChC;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;oBAC/C,SAAQ;iBACT;gBAED,iBAAiB;gBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAoC,CAAC,CAAC;aACrE;;;;;;;;;IACH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC,CAAC;IACF,OAAO,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;AAC/C,CAAC"}
1
+ {"version":3,"file":"pino.js","sourceRoot":"","sources":["../../src/pino.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAiBxC,MAAM,gBAAgB,GAAG;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,WAAW,EAAE;QACX,KAAK;QACL,OAAO;QACP,OAAO;QACP,MAAM;QACN,MAAM;QACN,OAAO;QACP,OAAO;QACP,QAAQ;KACT;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAElE,MAAM,SAAS,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;;;YACtC,KAAsB,eAAA,WAAA,cAAA,MAAM,CAAA,YAAA;gBAAN,sBAAM;gBAAN,WAAM;;oBAAjB,IAAI,GAAG,KAAA,CAAA;oBAChB,oBAAoB;oBACpB,MAAM,IAAI,GAAY,EAAE,CAAC;oBAEzB,qBAAqB;oBACrB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;wBACnD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;4BAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;yBAChB;qBACF;oBAED,wCAAwC;oBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;yBACb,MAAM,CACL,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CACjE;yBACA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAE1C,cAAc;oBACd,gGAAgG;oBAChG,sGAAsG;oBACtG,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC;oBAEnC,0CAA0C;oBAC1C,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE;wBACtD,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;qBACrC;oBAED,0BAA0B;oBAC1B,IAAI,KAAe,CAAC;oBAEpB,IAAI;wBACF,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBAChC;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBAChD,SAAS;qBACV;oBAED,iBAAiB;oBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAoC,CAAC,CAAC;;;;;aACrE;;;;;;;;;IACH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC,CAAC;IACF,OAAO,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAChD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logtail/pino",
3
- "version": "0.4.6",
3
+ "version": "0.4.9",
4
4
  "description": "Logtail Pino transport by Better Stack",
5
5
  "keywords": [
6
6
  "Better Stack",
@@ -31,14 +31,14 @@
31
31
  "devDependencies": {
32
32
  "@logtail/node": "^0.3.3",
33
33
  "npm-run-all": "^4.1.5",
34
- "typescript": "^3.9.7"
34
+ "typescript": "^4.9.5"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "pino": "^7.0.0 || ^8.0.0"
38
38
  },
39
39
  "dependencies": {
40
- "@logtail/node": "^0.4.6",
41
- "@logtail/types": "^0.4.6",
40
+ "@logtail/node": "^0.4.9",
41
+ "@logtail/types": "^0.4.9",
42
42
  "pino-abstract-transport": "^1.0.0"
43
43
  },
44
44
  "scripts": {
@@ -49,5 +49,5 @@
49
49
  "test": "echo \"Error: run tests from root\" && exit 1"
50
50
  },
51
51
  "private": false,
52
- "gitHead": "7c2faf339a1ea766cd986896739ee4c47788a06e"
52
+ "gitHead": "47b6c44046d9d9d7789f385381afbf33d9431d57"
53
53
  }
package/src/index.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  import { logtailTransport } from "./pino";
2
2
 
3
- export default logtailTransport
4
-
3
+ export default logtailTransport;
package/src/pino.ts CHANGED
@@ -1,7 +1,12 @@
1
- import build from 'pino-abstract-transport'
1
+ import build from "pino-abstract-transport";
2
2
 
3
3
  import { Logtail } from "@logtail/node";
4
- import { Context, LogLevel, ILogtailOptions, StackContextHint } from "@logtail/types";
4
+ import {
5
+ Context,
6
+ LogLevel,
7
+ ILogtailOptions,
8
+ StackContextHint,
9
+ } from "@logtail/types";
5
10
 
6
11
  import { getLogLevel } from "./helpers";
7
12
 
@@ -11,19 +16,31 @@ import { getLogLevel } from "./helpers";
11
16
  // TODO: stackContextHint =
12
17
 
13
18
  export interface PinoLog {
14
- level: number
15
- [key: string]: any
19
+ level: number;
20
+ [key: string]: any;
16
21
  }
17
22
 
18
23
  export interface IPinoLogtailOptions {
19
- sourceToken: string,
20
- options: Partial<ILogtailOptions>
24
+ sourceToken: string;
25
+ options: Partial<ILogtailOptions>;
21
26
  }
22
27
 
23
- const stackContextHint = { fileName: "node_modules/pino", methodNames: [ 'log', 'fatal', 'error', 'warn', 'info', 'debug', 'trace', 'silent' ] };
28
+ const stackContextHint = {
29
+ fileName: "node_modules/pino",
30
+ methodNames: [
31
+ "log",
32
+ "fatal",
33
+ "error",
34
+ "warn",
35
+ "info",
36
+ "debug",
37
+ "trace",
38
+ "silent",
39
+ ],
40
+ };
24
41
 
25
42
  export async function logtailTransport(options: IPinoLogtailOptions) {
26
- const logtail = new Logtail(options.sourceToken, options.options)
43
+ const logtail = new Logtail(options.sourceToken, options.options);
27
44
 
28
45
  const buildFunc = async (source: any) => {
29
46
  for await (let obj of source) {
@@ -40,17 +57,19 @@ export async function logtailTransport(options: IPinoLogtailOptions) {
40
57
 
41
58
  // Carry over any additional data fields
42
59
  Object.keys(obj)
43
- .filter(key => ["time", "msg", "message", "level", "v"].indexOf(key) < 0)
60
+ .filter(
61
+ key => ["time", "msg", "message", "level", "v"].indexOf(key) < 0,
62
+ )
44
63
  .forEach(key => (meta[key] = obj[key]));
45
64
 
46
65
  // Get message
47
66
  // NOTE: Pino passes messages as obj.msg but if user passes object to Pino it will pass it to us
48
67
  // even without 'msg' field. Later we map 'msg' -> 'message' so let's also read 'message' field.
49
- const msg = obj.msg || obj.message
68
+ const msg = obj.msg || obj.message;
50
69
 
51
70
  // Prevent overriding 'message' with 'msg'
52
71
  if (obj.msg !== undefined && obj.message !== undefined) {
53
- meta['message_field'] = obj.message
72
+ meta["message_field"] = obj.message;
54
73
  }
55
74
 
56
75
  // Determine the log level
@@ -59,8 +78,8 @@ export async function logtailTransport(options: IPinoLogtailOptions) {
59
78
  try {
60
79
  level = getLogLevel(obj.level);
61
80
  } catch (_) {
62
- console.error('Error while mapping log level.')
63
- continue
81
+ console.error("Error while mapping log level.");
82
+ continue;
64
83
  }
65
84
 
66
85
  // Log to Logtail
@@ -70,5 +89,5 @@ export async function logtailTransport(options: IPinoLogtailOptions) {
70
89
  const closeFunc = async () => {
71
90
  return await logtail.flush();
72
91
  };
73
- return build(buildFunc, { close: closeFunc })
92
+ return build(buildFunc, { close: closeFunc });
74
93
  }