Skip to content

Commit f78818d

Browse files
authored
feat(mojaloop/#3759)!: change logger functions to object variables (#196)
* feat!: change logger functions to object variables * dep update
1 parent ad3b480 commit f78818d

9 files changed

Lines changed: 95 additions & 93 deletions

File tree

‎package-lock.json‎

Lines changed: 47 additions & 47 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,14 @@
4949
"devDependencies": {
5050
"@mojaloop/api-snippets": "^17.4.0",
5151
"@types/jest": "^29.5.12",
52-
"@types/node": "^20.11.19",
52+
"@types/node": "^20.11.21",
5353
"audit-ci": "^6.6.1",
54-
"eslint": "^8.56.0",
54+
"eslint": "^8.57.0",
5555
"eslint-config-airbnb-base": "15.0.0",
5656
"eslint-plugin-import": "2.29.1",
5757
"jest": "^29.7.0",
5858
"jest-junit": "^16.0.0",
59-
"nock": "^13.5.3",
59+
"nock": "^13.5.4",
6060
"npm-check-updates": "^16.14.15",
6161
"pre-commit": "^1.2.2",
6262
"replace": "^1.2.2",

‎src/lib/WSO2Auth/index.js‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ class WSO2Auth extends EventEmitter {
101101
// Prevent the timeout from expiring and triggering an extraneous refresh
102102
this.stop();
103103

104-
this._logger.isDebugEnabled() && this._logger.debug('WSO2 token refresh initiated');
104+
this._logger.isDebugEnabled && this._logger.debug('WSO2 token refresh initiated');
105105
const reqOpts = {
106106
...this._reqOpts,
107107
headers: {
@@ -112,7 +112,7 @@ class WSO2Auth extends EventEmitter {
112112
let refreshSeconds;
113113
try {
114114
const response = await request(reqOpts);
115-
this._logger.isDebugEnabled() && this._logger.push({ reqOpts: { ...reqOpts, agent: '[REDACTED]' }, response }).debug('Response received from WSO2');
115+
this._logger.isDebugEnabled && this._logger.push({ reqOpts: { ...reqOpts, agent: '[REDACTED]' }, response }).debug('Response received from WSO2');
116116
if (response.statusCode > 299) {
117117
this.emit('error', 'Error retrieving WSO2 auth token');
118118
throw new Error(`Unexpected response code ${response.statusCode} received from WSO2 token request`);
@@ -122,11 +122,11 @@ class WSO2Auth extends EventEmitter {
122122
const tokenIsValidNumber = (typeof expires_in === 'number') && (expires_in > 0);
123123
const tokenExpiry = tokenIsValidNumber ? expires_in : Infinity;
124124
refreshSeconds = Math.min(this._refreshSeconds, tokenExpiry);
125-
this._logger.isDebugEnabled() && this._logger.debug('WSO2 token refreshed successfully. ' +
125+
this._logger.isDebugEnabled && this._logger.debug('WSO2 token refreshed successfully. ' +
126126
`Token expiry is ${expires_in}${tokenIsValidNumber ? 's' : ''}, ` +
127127
`next refresh in ${refreshSeconds}s`);
128128
} catch (error) {
129-
this._logger.isDebugEnabled() && this._logger.debug(`Error performing WSO2 token refresh: ${error.message}. `
129+
this._logger.isDebugEnabled && this._logger.debug(`Error performing WSO2 token refresh: ${error.message}. `
130130
+ `Retry in ${this._refreshRetrySeconds}s`);
131131
refreshSeconds = this._refreshRetrySeconds;
132132
}

‎src/lib/ilp/index.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class Ilp {
5656
condition: generatedCondition
5757
};
5858

59-
this.logger.isDebugEnabled() && this.logger.debug(`Generated ILP: transaction object: ${safeStringify(transactionObject)}\nPacket input: ${safeStringify(packetInput)}\nOutput: ${safeStringify(ret)}`);
59+
this.logger.isDebugEnabled && this.logger.debug(`Generated ILP: transaction object: ${safeStringify(transactionObject)}\nPacket input: ${safeStringify(packetInput)}\nOutput: ${safeStringify(ret)}`);
6060

6161
return ret;
6262
}

‎src/lib/jws/jwsSigner.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class JwsSigner {
4343
* (see https://github.com/axios/axios)
4444
*/
4545
sign(requestOptions) {
46-
this.logger.isDebugEnabled() && this.logger.debug(`JWS Signing request: ${safeStringify(requestOptions)}`);
46+
this.logger.isDebugEnabled && this.logger.debug(`JWS Signing request: ${safeStringify(requestOptions)}`);
4747
const payload = requestOptions.body || requestOptions.data;
4848
const uri = requestOptions.uri || requestOptions.url;
4949

@@ -81,7 +81,7 @@ class JwsSigner {
8181
* @returns {string} - JWS Signature as a string
8282
*/
8383
getSignature(requestOptions) {
84-
this.logger.isDebugEnabled() && this.logger.debug(`Get JWS Signature: ${safeStringify(requestOptions)}`);
84+
this.logger.isDebugEnabled && this.logger.debug(`Get JWS Signature: ${safeStringify(requestOptions)}`);
8585
const payload = requestOptions.body || requestOptions.data;
8686
const uri = requestOptions.uri || requestOptions.url;
8787

‎src/lib/jws/jwsValidator.js‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class JwsValidator {
4242
const { headers, body, data } = request;
4343
const payload = body || data;
4444

45-
this.logger.isDebugEnabled() && this.logger.debug(`Validating JWS on request with headers: ${safeStringify(headers)} and body: ${safeStringify(payload)}`);
45+
this.logger.isDebugEnabled && this.logger.debug(`Validating JWS on request with headers: ${safeStringify(headers)} and body: ${safeStringify(payload)}`);
4646

4747
if(!payload) {
4848
throw new Error('Cannot validate JWS without a body');
@@ -80,13 +80,13 @@ class JwsValidator {
8080
this._validateProtectedHeader(headers, result.header);
8181

8282
// const result = jwt.verify(token, pubKey, { complete: true, json: true });
83-
this.logger.isDebugEnabled() && this.logger.debug(`JWS verify result: ${safeStringify(result)}`);
83+
this.logger.isDebugEnabled && this.logger.debug(`JWS verify result: ${safeStringify(result)}`);
8484

8585
// all ok if we got here
86-
this.logger.isDebugEnabled() && this.logger.debug(`JWS valid for request ${safeStringify(request)}`);
86+
this.logger.isDebugEnabled && this.logger.debug(`JWS valid for request ${safeStringify(request)}`);
8787
}
8888
catch(err) {
89-
this.logger.isDebugEnabled() && this.logger.debug(`Error validating JWS: ${err.stack || safeStringify(err)}`);
89+
this.logger.isDebugEnabled && this.logger.debug(`Error validating JWS: ${err.stack || safeStringify(err)}`);
9090
throw err;
9191
}
9292
}

‎src/lib/logger/index.js‎

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
// 2) No 'replace' method (or method for overwriting logged context) has been implemented. This is
1818
// for the same reason no 'pop' method has been implemented.
1919

20+
// It is extremely important that this logger define the similar function/object names to
21+
// that of @mojaloop/central-services-logger.
22+
// Various core services use the JWS signer with the central services logger
23+
// while the mojaloop-sdk uses the logger defined here
2024
const util = require('util');
2125
const safeStringify = require('fast-safe-stringify');
2226

@@ -107,6 +111,13 @@ class Logger {
107111
} = {},
108112
} = {}) {
109113
this[contextSym] = context;
114+
this.isVerboseEnabled = false;
115+
this.isDebugEnabled = false;
116+
this.isWarnEnabled = false;
117+
this.isErrorEnabled = false;
118+
this.isTraceEnabled = false;
119+
this.isInfoEnabled = false;
120+
this.isFatalEnabled = false;
110121
this.configure({
111122
stringify,
112123
opts: {
@@ -131,9 +142,7 @@ class Logger {
131142
this[level] = (...args) => {
132143
this._log(level, ...args);
133144
};
134-
this[`is${level[0].toUpperCase()}${level.slice(1).toLowerCase()}Enabled`] = () => {
135-
return true;
136-
};
145+
this[`is${level[0].toUpperCase()}${level.slice(1).toLowerCase()}Enabled`] = true;
137146
});
138147
}
139148

@@ -194,19 +203,12 @@ class Logger {
194203
// so that the logger does not throw an error.
195204
// An easy way to do level silencing.
196205
verbose(){}
197-
isVerboseEnabled(){ return false; }
198206
debug(){}
199-
isDebugEnabled(){ return false; }
200207
warn(){}
201-
isWarnEnabled(){ return false; }
202208
error(){}
203-
isErrorEnabled(){ return false; }
204209
trace(){}
205-
isTraceEnabled(){ return false; }
206210
info(){}
207-
isInfoEnabled(){ return false; }
208211
fatal(){}
209-
isFatalEnabled(){ return false; }
210212
}
211213

212214
module.exports = {

0 commit comments

Comments
 (0)