From f1cf60468efa2b59e7f56b78d53fa69425c48a79 Mon Sep 17 00:00:00 2001 From: Luke Watts Date: Sat, 13 Nov 2021 09:31:14 +0100 Subject: [PATCH] feat: adds logger lib Before the addition of this tool all logs within the primary client side application are being done via console.log. This is okay for local development but makes it harder to investigate issues affecting other people as we are not currently piping this data to anywhere. Pino is a performant log tool that will allow us to configure additional destinatons for these logs. We could easily aggregate logs data to a 3rd party tool based on the configuration of a specific deployment. For the time being this logger will be hardcoded to output logs to browser console. This is to avoid any disruption to expected dev behaviour. --- package.json | 1 + src/logger/index.ts | 3 ++ yarn.lock | 115 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 src/logger/index.ts diff --git a/package.json b/package.json index 4be8ddf4d1..f508a3a46a 100644 --- a/package.json +++ b/package.json @@ -80,6 +80,7 @@ "mobx": "6.3.2", "mobx-react": "7.2.0", "oa-shared": "1.0.0", + "pino": "^7.2.0", "places.js": "^1.16.4", "pubsub-js": "^1.7.0", "react": "^17.0.2", diff --git a/src/logger/index.ts b/src/logger/index.ts new file mode 100644 index 0000000000..a5eade296f --- /dev/null +++ b/src/logger/index.ts @@ -0,0 +1,3 @@ +import Logger from 'pino' + +export const logger = Logger({ browser: { asObject: false } }) diff --git a/yarn.lock b/yarn.lock index 5330f7c634..f7ce15fbe3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8198,6 +8198,13 @@ __metadata: languageName: node linkType: hard +"atomic-sleep@npm:^1.0.0": + version: 1.0.0 + resolution: "atomic-sleep@npm:1.0.0" + checksum: b95275afb2f80732f22f43a60178430c468906a415a7ff18bcd0feeebc8eec3930b51250aeda91a476062a90e07132b43a1794e8d8ffcf9b650e8139be75fa36 + languageName: node + linkType: hard + "attr-accept@npm:^2.0.0": version: 2.2.2 resolution: "attr-accept@npm:2.2.2" @@ -12370,7 +12377,7 @@ __metadata: languageName: node linkType: hard -"duplexify@npm:^4.0.0, duplexify@npm:^4.1.1": +"duplexify@npm:^4.0.0, duplexify@npm:^4.1.1, duplexify@npm:^4.1.2": version: 4.1.2 resolution: "duplexify@npm:4.1.2" dependencies: @@ -13761,6 +13768,13 @@ __metadata: languageName: node linkType: hard +"fast-redact@npm:^3.0.0": + version: 3.0.2 + resolution: "fast-redact@npm:3.0.2" + checksum: f4ffdf48f1647dbe0411884e5dca85ebef0762d1ce1937f6779beaea5c83ef7c35416d800b2bff60f1a252b670d1707f9484c9a5d0ef721e68f3dae94b420fa8 + languageName: node + linkType: hard + "fast-text-encoding@npm:^1.0.0, fast-text-encoding@npm:^1.0.3": version: 1.0.3 resolution: "fast-text-encoding@npm:1.0.3" @@ -13784,6 +13798,13 @@ __metadata: languageName: node linkType: hard +"fastify-warning@npm:^0.2.0": + version: 0.2.0 + resolution: "fastify-warning@npm:0.2.0" + checksum: c19ebccf54a3122877d2248400772ca98bacbabdf97826211ede29246c640d47431a2eebed1f52f9421139ed5e52e42d3bd4aefc46e27b6f34add3507529fd97 + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.13.0 resolution: "fastq@npm:1.13.0" @@ -21267,6 +21288,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"on-exit-leak-free@npm:^0.2.0": + version: 0.2.0 + resolution: "on-exit-leak-free@npm:0.2.0" + checksum: d22b0f0538069110626b578db6e68b6ee0e85b1ee9cc5ef9b4de1bba431431d6a8da91a61e09d2ad46f22a96f968e5237833cb9d0b69bc4d294f7ec82f609b05 + languageName: node + linkType: hard + "on-finished@npm:^2.2.0, on-finished@npm:~2.3.0": version: 2.3.0 resolution: "on-finished@npm:2.3.0" @@ -21358,6 +21386,7 @@ fsevents@^1.2.7: mobx-react-devtools: ^6.0.3 node-sass: ^4.14.1 oa-shared: 1.0.0 + pino: ^7.2.0 places.js: ^1.16.4 prettier: ^1.16.4 pubsub-js: ^1.7.0 @@ -22153,6 +22182,44 @@ fsevents@^1.2.7: languageName: node linkType: hard +"pino-abstract-transport@npm:v0.5.0": + version: 0.5.0 + resolution: "pino-abstract-transport@npm:0.5.0" + dependencies: + duplexify: ^4.1.2 + split2: ^4.0.0 + checksum: c503f867de3189f8217ab9cf794e8a631dddd0029a829f0f985f5511308152ebd53e363764fbc5570b3d1c715b341e3923456ce16ad84cd41be2b9a074ada234 + languageName: node + linkType: hard + +"pino-std-serializers@npm:^4.0.0": + version: 4.0.0 + resolution: "pino-std-serializers@npm:4.0.0" + checksum: 89d487729b58c9d3273a0ee851ead068d6d2e2ccc1af8e1c1d28f1b3442423679bec7ec04d9a2aba36f94f335e82be9f4de19dc4fbc161e71c136aaa15b85ad3 + languageName: node + linkType: hard + +"pino@npm:^7.2.0": + version: 7.2.0 + resolution: "pino@npm:7.2.0" + dependencies: + fast-redact: ^3.0.0 + fastify-warning: ^0.2.0 + get-caller-file: ^2.0.5 + on-exit-leak-free: ^0.2.0 + pino-abstract-transport: v0.5.0 + pino-std-serializers: ^4.0.0 + quick-format-unescaped: ^4.0.3 + real-require: ^0.1.0 + safe-stable-stringify: ^2.1.0 + sonic-boom: ^2.2.1 + thread-stream: ^0.13.0 + bin: + pino: bin.js + checksum: e921003000ef370a00277d5b03e91a6b5ff679c1753de37b9b94e3bc033b4e07b76fadf98eb5ee5eee8324759a2fa8146e7c857a82ae24ddb89cf94f84081aa1 + languageName: node + linkType: hard + "pirates@npm:^4.0.0, pirates@npm:^4.0.1": version: 4.0.1 resolution: "pirates@npm:4.0.1" @@ -24172,6 +24239,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"quick-format-unescaped@npm:^4.0.3": + version: 4.0.4 + resolution: "quick-format-unescaped@npm:4.0.4" + checksum: 7bc32b99354a1aa46c089d2a82b63489961002bb1d654cee3e6d2d8778197b68c2d854fd23d8422436ee1fdfd0abaddc4d4da120afe700ade68bd357815b26fd + languageName: node + linkType: hard + "raf@npm:^3.4.0, raf@npm:^3.4.1": version: 3.4.1 resolution: "raf@npm:3.4.1" @@ -25395,6 +25469,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"real-require@npm:^0.1.0": + version: 0.1.0 + resolution: "real-require@npm:0.1.0" + checksum: 96745583ed4f82cd5c6a6af012fd1d3c6fc2f13ae1bcff1a3c4f8094696013a1a07c82c5aa66a403d7d4f84949fc2203bc927c7ad120caad125941ca2d7e5e8e + languageName: node + linkType: hard + "rebass@npm:4.0.7": version: 4.0.7 resolution: "rebass@npm:4.0.7" @@ -26320,6 +26401,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"safe-stable-stringify@npm:^2.1.0": + version: 2.2.0 + resolution: "safe-stable-stringify@npm:2.2.0" + checksum: 09facfbc43259f02422ff00ecbb3490d19a7b4f9545852c8a0045bd3d0120bc07f6e5f803f124312c237db688b7051fe85670c817ebba66f8530c5049201e0b2 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -27079,6 +27167,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"sonic-boom@npm:^2.2.1": + version: 2.3.1 + resolution: "sonic-boom@npm:2.3.1" + dependencies: + atomic-sleep: ^1.0.0 + checksum: 4f5022de97483bb6f889415e342f9a451dbdebbe732df454f7d6e417cc80e813c19e2d646ad5ae20a92510a34c311fb9fbc440864bb234b78b3a2100467d851b + languageName: node + linkType: hard + "sort-css-media-queries@npm:2.0.4": version: 2.0.4 resolution: "sort-css-media-queries@npm:2.0.4" @@ -27270,6 +27367,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"split2@npm:^4.0.0": + version: 4.1.0 + resolution: "split2@npm:4.1.0" + checksum: ec581597cb74c13cdfb5e2047543dd40cb1e8e9803c7b1e0c29ede05f2b4f049b2d6e7f2788a225d544549375719658b8f38e9366364dec35dc7a12edfda5ee5 + languageName: node + linkType: hard + "split@npm:0.3": version: 0.3.3 resolution: "split@npm:0.3.3" @@ -28373,6 +28477,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"thread-stream@npm:^0.13.0": + version: 0.13.0 + resolution: "thread-stream@npm:0.13.0" + dependencies: + real-require: ^0.1.0 + checksum: d72a44f133917c0c54f820d25c507f8d09b4841c8fba83deae14110a1a097884f6674c8d2953655f44753a828dc1a625214b9addefcc79084e6bd9febca36796 + languageName: node + linkType: hard + "throat@npm:^5.0.0": version: 5.0.0 resolution: "throat@npm:5.0.0"