ac-logger 2.2.0 → 2.2.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/CHANGELOG.md +20 -0
- package/index.js +21 -19
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
<a name="2.2.2"></a>
|
|
2
|
+
|
|
3
|
+
## [2.2.2](https://github.com/admiralcloud/ac-logger/compare/v2.2.1..v2.2.2) (2023-12-09 13:55:12)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fix
|
|
7
|
+
|
|
8
|
+
* **App:** Package updates | MP | [4ef0bc6dcac90fd1af7d304d7ba4f56606532949](https://github.com/admiralcloud/ac-logger/commit/4ef0bc6dcac90fd1af7d304d7ba4f56606532949)
|
|
9
|
+
Package updates
|
|
10
|
+
Related issues: [undefined/undefined#master](undefined/browse/master)
|
|
11
|
+
<a name="2.2.1"></a>
|
|
12
|
+
|
|
13
|
+
## [2.2.1](https://github.com/admiralcloud/ac-logger/compare/v2.2.0..v2.2.1) (2023-07-26 08:32:44)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fix
|
|
17
|
+
|
|
18
|
+
* **App:** Add more flexibility for transporters | MP | [e661253e0dd6f68165941aeb9fb5a2c2ed6483d7](https://github.com/admiralcloud/ac-logger/commit/e661253e0dd6f68165941aeb9fb5a2c2ed6483d7)
|
|
19
|
+
You can create logger without default console log.
|
|
20
|
+
Related issues: [/issues#undefined](https://github.com//issues/undefined)
|
|
1
21
|
<a name="2.2.0"></a>
|
|
2
22
|
|
|
3
23
|
# [2.2.0](https://github.com/admiralcloud/ac-logger/compare/v2.1.0..v2.2.0) (2023-07-26 07:02:00)
|
package/index.js
CHANGED
|
@@ -5,7 +5,7 @@ const path = require('path')
|
|
|
5
5
|
const { createLogger, format, transports, addColors } = require('winston')
|
|
6
6
|
require('winston-daily-rotate-file')
|
|
7
7
|
|
|
8
|
-
module.exports = ({ prefixFields = [], timestampFormat = 'YYYY-MM-DD HH:mm:ss', level = (process.env.NODE_ENV === 'production' ? 'info' : 'verbose'), headLength = 80, padLength = 12, customLevels,
|
|
8
|
+
module.exports = ({ prefixFields = [], timestampFormat = 'YYYY-MM-DD HH:mm:ss', level = (process.env.NODE_ENV === 'production' ? 'info' : 'verbose'), headLength = 80, padLength = 12, customLevels, transporters = [] } = {}) => {
|
|
9
9
|
const precisionMap = [
|
|
10
10
|
{ precision: 1e6, name: 'ms' },
|
|
11
11
|
{ precision: 1e3, name: 'µs' },
|
|
@@ -34,6 +34,25 @@ module.exports = ({ prefixFields = [], timestampFormat = 'YYYY-MM-DD HH:mm:ss',
|
|
|
34
34
|
return `${timestamp} ${level} ${fileName}${functionName}${subName}${prefixData}${message}`
|
|
35
35
|
})
|
|
36
36
|
|
|
37
|
+
const logTransports = []
|
|
38
|
+
if (!_.size(transporters)) {
|
|
39
|
+
// default behaviour
|
|
40
|
+
logTransports.push(new transports.Console())
|
|
41
|
+
if (process.env.NODE_ENV === 'test') {
|
|
42
|
+
logTransports.push(new transports.File({
|
|
43
|
+
filename: 'test.log',
|
|
44
|
+
level: 'debug'
|
|
45
|
+
}))
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
_.forEach(transporters, item => {
|
|
50
|
+
const logTransport = new transports[item.type](item.options)
|
|
51
|
+
if (_.has(item, 'onRotate')) logTransport.on('rotate', item.onRotate)
|
|
52
|
+
logTransports.push(logTransport)
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
|
|
37
56
|
const logConfig = {
|
|
38
57
|
level,
|
|
39
58
|
format: format.combine(
|
|
@@ -49,30 +68,13 @@ module.exports = ({ prefixFields = [], timestampFormat = 'YYYY-MM-DD HH:mm:ss',
|
|
|
49
68
|
format.splat(),
|
|
50
69
|
myFormat
|
|
51
70
|
),
|
|
52
|
-
transports:
|
|
53
|
-
new transports.Console()
|
|
54
|
-
]
|
|
71
|
+
transports: logTransports
|
|
55
72
|
}
|
|
56
73
|
if (_.get(customLevels, 'levels')) _.set(logConfig, 'levels', _.get(customLevels, 'levels'))
|
|
57
74
|
|
|
58
75
|
const acLogger = createLogger(logConfig)
|
|
59
76
|
if (_.get(customLevels, 'colors')) addColors(_.get(customLevels, 'colors'))
|
|
60
|
-
|
|
61
|
-
// Array of objects with type (e.g. File) and options for that type
|
|
62
|
-
if (_.size(additionalTransports)) {
|
|
63
|
-
_.forEach(additionalTransports, additionalTransport => {
|
|
64
|
-
const transport = new transports[additionalTransport.type](additionalTransport.options)
|
|
65
|
-
if (_.has(additionalTransport, 'onRotate')) transport.on('rotate', additionalTransport.onRotate)
|
|
66
|
-
acLogger.add(transport)
|
|
67
|
-
})
|
|
68
|
-
}
|
|
69
77
|
|
|
70
|
-
if (process.env.NODE_ENV === 'test') {
|
|
71
|
-
acLogger.add(new transports.File({
|
|
72
|
-
filename: 'test.log',
|
|
73
|
-
level: 'debug'
|
|
74
|
-
}))
|
|
75
|
-
}
|
|
76
78
|
|
|
77
79
|
const headline = (params) => {
|
|
78
80
|
acLogger.info('')
|
package/package.json
CHANGED
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
"author": "Mark Poepping (https://www.admiralcloud.com)",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "admiralcloud/ac-logger",
|
|
6
|
-
"version": "2.2.
|
|
6
|
+
"version": "2.2.2",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"lodash": "^4.17.21",
|
|
9
9
|
"moment": "^2.29.4",
|
|
10
|
-
"winston": "^3.
|
|
10
|
+
"winston": "^3.11.0",
|
|
11
11
|
"winston-daily-rotate-file": "^4.7.1"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"ac-semantic-release": "^0.4.2",
|
|
15
|
-
"chai": "^4.3.
|
|
16
|
-
"eslint": "^8.
|
|
15
|
+
"chai": "^4.3.10",
|
|
16
|
+
"eslint": "^8.55.0",
|
|
17
17
|
"intercept-stdout": "^0.1.2",
|
|
18
18
|
"mocha": "^10.2.0",
|
|
19
19
|
"mocha-jenkins-reporter": "^0.4.8"
|