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.
Files changed (3) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/index.js +21 -19
  3. 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, additionalTransports } = {}) => {
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.0",
6
+ "version": "2.2.2",
7
7
  "dependencies": {
8
8
  "lodash": "^4.17.21",
9
9
  "moment": "^2.29.4",
10
- "winston": "^3.10.0",
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.7",
16
- "eslint": "^8.45.0",
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"