-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.js
40 lines (35 loc) · 1015 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
'use strict';
const lawgs = require('lawgs');
function awsAppender(accessKeyId, secretAccessKey, region, logGroup, logStream, layout, timezoneOffset, lawgsConfig) {
lawgs.config({
aws: {
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey,
region: region
}
});
const logger = lawgs.getOrCreate(logGroup);
if (lawgsConfig) {
logger.config(lawgsConfig);
}
return function (loggingEvent) {
logger.log(logStream, layout(loggingEvent, timezoneOffset));
};
}
function configure(config, layouts) {
let layout = layouts.basicLayout;
if (config.layout) {
layout = layouts.layout(config.layout.type, config.layout);
}
return awsAppender(
config.accessKeyId,
config.secretAccessKey,
config.region,
config.logGroup,
config.logStream,
layout,
config.timezoneOffset,
config.lawgsConfig
);
}
module.exports.configure = configure;