@logtail/pino 0.3.0 → 0.3.2

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/cjs/pino.js CHANGED
@@ -22,11 +22,6 @@ async function logtailTransport(options) {
22
22
  try {
23
23
  for (var source_1 = __asyncValues(source), source_1_1; source_1_1 = await source_1.next(), !source_1_1.done;) {
24
24
  let obj = source_1_1.value;
25
- // Log should have string `msg` key, > 0 length
26
- if (typeof obj.msg !== "string" || !obj.msg.length) {
27
- console.error('Field "msg" has to be a non-empty string.');
28
- continue;
29
- }
30
25
  // Logging meta data
31
26
  const meta = {};
32
27
  // Copy `time` if set
@@ -38,8 +33,16 @@ async function logtailTransport(options) {
38
33
  }
39
34
  // Carry over any additional data fields
40
35
  Object.keys(obj)
41
- .filter(key => ["time", "msg", "level", "v"].indexOf(key) < 0)
36
+ .filter(key => ["time", "msg", "message", "level", "v"].indexOf(key) < 0)
42
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
+ }
43
46
  // Determine the log level
44
47
  let level;
45
48
  try {
@@ -50,7 +53,7 @@ async function logtailTransport(options) {
50
53
  continue;
51
54
  }
52
55
  // Log to Logtail
53
- logtail.log(obj.msg, level, meta, stackContextHint);
56
+ logtail.log(msg, level, meta, stackContextHint);
54
57
  }
55
58
  }
56
59
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -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,+CAA+C;gBAC/C,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE;oBAClD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;oBAC1D,SAAQ;iBACT;gBAED,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,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE1C,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,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAoC,CAAC,CAAC;aACzE;;;;;;;;;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;AA7CD,4CA6CC"}
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"}
package/dist/es6/pino.js CHANGED
@@ -16,11 +16,6 @@ export async function logtailTransport(options) {
16
16
  try {
17
17
  for (var source_1 = __asyncValues(source), source_1_1; source_1_1 = await source_1.next(), !source_1_1.done;) {
18
18
  let obj = source_1_1.value;
19
- // Log should have string `msg` key, > 0 length
20
- if (typeof obj.msg !== "string" || !obj.msg.length) {
21
- console.error('Field "msg" has to be a non-empty string.');
22
- continue;
23
- }
24
19
  // Logging meta data
25
20
  const meta = {};
26
21
  // Copy `time` if set
@@ -32,8 +27,16 @@ export async function logtailTransport(options) {
32
27
  }
33
28
  // Carry over any additional data fields
34
29
  Object.keys(obj)
35
- .filter(key => ["time", "msg", "level", "v"].indexOf(key) < 0)
30
+ .filter(key => ["time", "msg", "message", "level", "v"].indexOf(key) < 0)
36
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
+ }
37
40
  // Determine the log level
38
41
  let level;
39
42
  try {
@@ -44,7 +47,7 @@ export async function logtailTransport(options) {
44
47
  continue;
45
48
  }
46
49
  // Log to Logtail
47
- logtail.log(obj.msg, level, meta, stackContextHint);
50
+ logtail.log(msg, level, meta, stackContextHint);
48
51
  }
49
52
  }
50
53
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -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,+CAA+C;gBAC/C,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE;oBAClD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;oBAC1D,SAAQ;iBACT;gBAED,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,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE1C,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,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAoC,CAAC,CAAC;aACzE;;;;;;;;;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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logtail/pino",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Logtail Pino transport by Better Stack",
5
5
  "keywords": [
6
6
  "Better Stack",
@@ -37,7 +37,7 @@
37
37
  "pino": "^7.0.0 || ^8.0.0"
38
38
  },
39
39
  "dependencies": {
40
- "@logtail/node": "^0.3.0",
40
+ "@logtail/node": "^0.3.1",
41
41
  "@logtail/types": "^0.3.0",
42
42
  "pino-abstract-transport": "^1.0.0"
43
43
  },
@@ -49,5 +49,5 @@
49
49
  "test": "echo \"Error: run tests from root\" && exit 1"
50
50
  },
51
51
  "private": false,
52
- "gitHead": "86cb9542d2a1c12dcaa3104afb8df5c2c4a21ff5"
52
+ "gitHead": "6bf571f45f248872a286fd37a62a9768c03f045b"
53
53
  }
package/src/pino.ts CHANGED
@@ -27,12 +27,6 @@ export async function logtailTransport(options: IPinoLogtailOptions) {
27
27
 
28
28
  const buildFunc = async (source: any) => {
29
29
  for await (let obj of source) {
30
- // Log should have string `msg` key, > 0 length
31
- if (typeof obj.msg !== "string" || !obj.msg.length) {
32
- console.error('Field "msg" has to be a non-empty string.')
33
- continue
34
- }
35
-
36
30
  // Logging meta data
37
31
  const meta: Context = {};
38
32
 
@@ -46,9 +40,19 @@ export async function logtailTransport(options: IPinoLogtailOptions) {
46
40
 
47
41
  // Carry over any additional data fields
48
42
  Object.keys(obj)
49
- .filter(key => ["time", "msg", "level", "v"].indexOf(key) < 0)
43
+ .filter(key => ["time", "msg", "message", "level", "v"].indexOf(key) < 0)
50
44
  .forEach(key => (meta[key] = obj[key]));
51
45
 
46
+ // Get message
47
+ // NOTE: Pino passes messages as obj.msg but if user passes object to Pino it will pass it to us
48
+ // even without 'msg' field. Later we map 'msg' -> 'message' so let's also read 'message' field.
49
+ const msg = obj.msg || obj.message
50
+
51
+ // Prevent overriding 'message' with 'msg'
52
+ if (obj.msg !== undefined && obj.message !== undefined) {
53
+ meta['message_field'] = obj.message
54
+ }
55
+
52
56
  // Determine the log level
53
57
  let level: LogLevel;
54
58
 
@@ -60,7 +64,7 @@ export async function logtailTransport(options: IPinoLogtailOptions) {
60
64
  }
61
65
 
62
66
  // Log to Logtail
63
- logtail.log(obj.msg, level, meta, stackContextHint as StackContextHint);
67
+ logtail.log(msg, level, meta, stackContextHint as StackContextHint);
64
68
  }
65
69
  };
66
70
  const closeFunc = async () => {