ac-logger 2.3.2 → 3.0.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/CHANGELOG.md +22 -0
- package/eslint.config.js +32 -0
- package/index.js +22 -6
- package/package.json +9 -6
- package/.eslintrc.js +0 -27
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
<a name="3.0.0"></a>
|
|
2
|
+
|
|
3
|
+
# [3.0.0](https://github.com/admiralcloud/ac-logger/compare/v2.3.2..v3.0.0) (2024-08-09 15:08:00)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fix
|
|
7
|
+
|
|
8
|
+
* **App:** Add colorization based on statusCode | MP | [e7d87144520ae667dce9e25b0a8c672dadacddc8](https://github.com/admiralcloud/ac-logger/commit/e7d87144520ae667dce9e25b0a8c672dadacddc8)
|
|
9
|
+
Add colorization based on statusCode
|
|
10
|
+
Related issues: [undefined/undefined#master](undefined/browse/master)
|
|
11
|
+
### Style
|
|
12
|
+
|
|
13
|
+
* **App:** Lint fix | MP | [4c4c1edaecd3f94acf688fabdd78687212a12b31](https://github.com/admiralcloud/ac-logger/commit/4c4c1edaecd3f94acf688fabdd78687212a12b31)
|
|
14
|
+
Lint fix
|
|
15
|
+
Related issues: [undefined/undefined#master](undefined/browse/master)
|
|
16
|
+
### Chores
|
|
17
|
+
|
|
18
|
+
* **App:** Updated packages | MP | [a2b6d3244a9db6cdd2af978fc15a0d5cfec4408d](https://github.com/admiralcloud/ac-logger/commit/a2b6d3244a9db6cdd2af978fc15a0d5cfec4408d)
|
|
19
|
+
Updated packages
|
|
20
|
+
Related issues: [undefined/undefined#master](undefined/browse/master)
|
|
21
|
+
## BREAKING CHANGES
|
|
22
|
+
* **App:** Minimum Node version 18
|
|
1
23
|
<a name="2.3.2"></a>
|
|
2
24
|
|
|
3
25
|
## [2.3.2](https://github.com/admiralcloud/ac-logger/compare/v2.3.1..v2.3.2) (2024-05-08 15:32:14)
|
package/eslint.config.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const globals = require('globals')
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
ignores: [
|
|
5
|
+
'config/env/**'
|
|
6
|
+
],
|
|
7
|
+
languageOptions: {
|
|
8
|
+
ecmaVersion: 2022,
|
|
9
|
+
sourceType: 'module',
|
|
10
|
+
globals: {
|
|
11
|
+
...globals.commonjs,
|
|
12
|
+
...globals.es2015,
|
|
13
|
+
...globals.node,
|
|
14
|
+
expect: 'readonly',
|
|
15
|
+
describe: 'readonly',
|
|
16
|
+
it: 'readonly'
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
rules: {
|
|
20
|
+
'no-const-assign': 'error', // Ensure this rule is enabled
|
|
21
|
+
'space-before-function-paren': 'off',
|
|
22
|
+
'no-extra-semi': 'off',
|
|
23
|
+
'object-curly-spacing': ['error', 'always'],
|
|
24
|
+
'brace-style': ['error', 'stroustrup', { allowSingleLine: true }],
|
|
25
|
+
'no-useless-escape': 'off',
|
|
26
|
+
'standard/no-callback-literal': 'off',
|
|
27
|
+
'new-cap': 'off',
|
|
28
|
+
'no-console': ['warn', { allow: ['warn', 'error'] }],
|
|
29
|
+
"no-unused-vars": "error", // we shouldn't clutter code with unused variables
|
|
30
|
+
"prefer-const": ["warn", { "ignoreReadBeforeAssign": true }],
|
|
31
|
+
}
|
|
32
|
+
}
|
package/index.js
CHANGED
|
@@ -26,10 +26,26 @@ module.exports = ({ prefixFields = [], timestampFormat = 'YYYY-MM-DD HH:mm:ss',
|
|
|
26
26
|
// http log format
|
|
27
27
|
if (level === 'http' && data?.controller) {
|
|
28
28
|
// display accessKey, link (if applicable)
|
|
29
|
-
|
|
29
|
+
const message = data?.message ? ` ${data.message}` : ''
|
|
30
30
|
let cuid = data?.customerId ? data?.customerId : ''
|
|
31
31
|
if (data?.userId) cuid += `/${data.userId} `
|
|
32
|
-
|
|
32
|
+
// colorize status codes
|
|
33
|
+
|
|
34
|
+
const statusCode = data?.statusCode
|
|
35
|
+
let displayStatusCode = (statusCode || ' ')
|
|
36
|
+
if (statusCode >= 500) {
|
|
37
|
+
displayStatusCode = `\x1B[35m${statusCode}\x1B[0m`
|
|
38
|
+
}
|
|
39
|
+
else if (statusCode >= 400) {
|
|
40
|
+
displayStatusCode = `\x1B[31m${statusCode}\x1B[0m`
|
|
41
|
+
}
|
|
42
|
+
else if (statusCode >= 300) {
|
|
43
|
+
displayStatusCode = `\x1B[33m${statusCode}\x1B[0m`
|
|
44
|
+
}
|
|
45
|
+
else if (statusCode >= 200) {
|
|
46
|
+
displayStatusCode = `\x1B[32m${statusCode}\x1B[0m`
|
|
47
|
+
}
|
|
48
|
+
return `${data?.timestamp} ${data?.level} ${data?.ip} ${data?.iso2 || ''} ${data?.accessKey || ''} ${cuid}${data?.controller} ${data?.action}${message} | ${displayStatusCode} | ${data?.performance?.executionTime}ms`
|
|
33
49
|
}
|
|
34
50
|
else {
|
|
35
51
|
const meta = data?.meta
|
|
@@ -39,7 +55,7 @@ module.exports = ({ prefixFields = [], timestampFormat = 'YYYY-MM-DD HH:mm:ss',
|
|
|
39
55
|
let subName = _.get(meta, 'sub') ? _.get(meta, 'sub') + ' | ' : _.get(data, 'sub') ? _.get(data, 'sub') + ' | ' : ''
|
|
40
56
|
|
|
41
57
|
// modern approach (fileName, functionName, sub) // TBD with team
|
|
42
|
-
|
|
58
|
+
const functionIdentifier = _.get(data, 'functionIdentifier') ? _.get(data, 'functionIdentifier') + ' | ' : ''
|
|
43
59
|
if (!fileName && _.get(data, 'fileName')) fileName = _.get(data, 'fileName')
|
|
44
60
|
if (!functionName && _.get(data, 'functionName')) functionName = _.get(data, 'functionName')
|
|
45
61
|
if (!subName && _.get(data, 'sub')) subName = _.get(data, 'sub')
|
|
@@ -48,8 +64,8 @@ module.exports = ({ prefixFields = [], timestampFormat = 'YYYY-MM-DD HH:mm:ss',
|
|
|
48
64
|
let message = data?.message
|
|
49
65
|
|
|
50
66
|
|
|
51
|
-
|
|
52
|
-
|
|
67
|
+
const prefix = []
|
|
68
|
+
const dataFromPrefix = []
|
|
53
69
|
_.forEach(prefixFields, item => {
|
|
54
70
|
if (_.get(meta, _.get(item, 'field'))) {
|
|
55
71
|
prefix.push(_.get(item, 'short'))
|
|
@@ -151,7 +167,7 @@ module.exports = ({ prefixFields = [], timestampFormat = 'YYYY-MM-DD HH:mm:ss',
|
|
|
151
167
|
acLogger.transports.forEach((transport) => {
|
|
152
168
|
const currentLevel = transport.level || acLogger.level; // Fallback to the logger's default level
|
|
153
169
|
if (currentLevel !== newLevel) {
|
|
154
|
-
console.
|
|
170
|
+
console.warn(`Changing level of ${transport.name} from ${currentLevel} to ${newLevel}`);
|
|
155
171
|
transport.level = newLevel; // Confirm this line is executing
|
|
156
172
|
}
|
|
157
173
|
});
|
package/package.json
CHANGED
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
"author": "Mark Poepping (https://www.admiralcloud.com)",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "admiralcloud/ac-logger",
|
|
6
|
-
"version": "
|
|
6
|
+
"version": "3.0.0",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"lodash": "^4.17.21",
|
|
9
9
|
"moment": "^2.30.1",
|
|
10
|
-
"winston": "^3.
|
|
10
|
+
"winston": "^3.14.1",
|
|
11
11
|
"winston-daily-rotate-file": "^5.0.0"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"ac-semantic-release": "^0.4.2",
|
|
15
|
-
"chai": "^4.
|
|
16
|
-
"eslint": "^8.
|
|
15
|
+
"chai": "^4.5.0",
|
|
16
|
+
"eslint": "^9.8.0",
|
|
17
17
|
"intercept-stdout": "^0.1.2",
|
|
18
|
-
"mocha": "^10.
|
|
18
|
+
"mocha": "^10.7.3",
|
|
19
19
|
"mocha-jenkins-reporter": "^0.4.8"
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
"test-jenkins": "JUNIT_REPORT_PATH=./report.xml mocha --colors --reporter mocha-jenkins-reporter --reporter-options junit_report_name='ACLogger'"
|
|
24
24
|
},
|
|
25
25
|
"engines": {
|
|
26
|
-
"node": ">=
|
|
26
|
+
"node": ">=18.0.0"
|
|
27
|
+
},
|
|
28
|
+
"resolutions": {
|
|
29
|
+
"mocha/chokidar/braces": "^3.0.3"
|
|
27
30
|
}
|
|
28
31
|
}
|
package/.eslintrc.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
const config = {
|
|
2
|
-
root: true,
|
|
3
|
-
'env': {
|
|
4
|
-
'commonjs': true,
|
|
5
|
-
'es2020': true,
|
|
6
|
-
'node': true
|
|
7
|
-
},
|
|
8
|
-
'extends': 'eslint:recommended',
|
|
9
|
-
"rules": {
|
|
10
|
-
"space-before-function-paren": 0,
|
|
11
|
-
"no-extra-semi": 0,
|
|
12
|
-
"object-curly-spacing": ["error", "always"],
|
|
13
|
-
"brace-style": ["error", "stroustrup", { "allowSingleLine": true }],
|
|
14
|
-
"no-useless-escape": 0,
|
|
15
|
-
"standard/no-callback-literal": 0,
|
|
16
|
-
"new-cap": 0
|
|
17
|
-
},
|
|
18
|
-
globals: {
|
|
19
|
-
describe: true,
|
|
20
|
-
it: true
|
|
21
|
-
},
|
|
22
|
-
'parserOptions': {
|
|
23
|
-
'ecmaVersion': 2022
|
|
24
|
-
},
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
module.exports = config
|