Skip to content
Snippets Groups Projects
Commit 702d9aaf authored by Bogdan Cochior's avatar Bogdan Cochior
Browse files

chore(logger): push logs to cloudwatch

parent 9ef67461
No related branches found
No related tags found
3 merge requests!222Sprint #26,!217Sprint #26,!209chore(logger): push logs to cloudwatch
......@@ -38,7 +38,9 @@
"start": "docker-compose up"
},
"lint-staged": {
"*.js": ["prettier --write"],
"*.js": [
"prettier --write"
],
"*.css": "stylelint",
"*.scss": "stylelint"
},
......@@ -46,7 +48,9 @@
"node": ">=8",
"yarn": ">=1.2"
},
"workspaces": ["packages/*"],
"workspaces": [
"packages/*"
],
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
......
require('dotenv').config()
const path = require('path')
const logger = require('winston')
const { get } = require('lodash')
const logger = require('./loggerCustom')
const components = require('./components.json')
const journalConfig = require('../app/config/journal')
const { get } = require('lodash')
const getDbConfig = () => {
if (process.env.DATABASE) {
......
const winston = require('winston')
const CloudWatchLogger = require('./loggerCustomTransporter')
const logger = new winston.Logger({
transports: [
new winston.transports.Console({
timestamp: true,
colorize: true,
}),
],
})
logger.level = process.env.LOG_LEVEL || 'silly'
if (
!!process.env.CLOUDWATCH_GROUP_NAME &&
!!process.env.CLOUDWATCH_STREAM_NAME
) {
const logConfig = {
logGroupName: process.env.CLOUDWATCH_GROUP_NAME,
logStreamName: process.env.CLOUDWATCH_STREAM_NAME,
awsConfig: {
accessKeyId: process.env.CLOUDWATCH_ACCESS_KEY_ID,
secretAccessKey: process.env.CLOUDWATCH_SECRET_ACCESS_KEY,
region: process.env.CLOUDWATCH_REGION,
},
}
logger.on('logging', (transport, level, msg, meta) => {
const awsLogger = new CloudWatchLogger(logConfig)
awsLogger.log({ level, msg, meta })
})
}
logger.stream = {
write(message, encoding) {
logger.info(message)
},
}
module.exports = logger
const CloudWatchClient = require('winston-aws-cloudwatch/lib/cloudwatch-client')
const LogItem = require('winston-aws-cloudwatch/lib/log-item')
const Relay = require('winston-aws-cloudwatch/lib/relay')
class CloudWatchTransport {
constructor(logConfig) {
const client = new CloudWatchClient(
logConfig.logGroupName,
logConfig.logStreamName,
logConfig,
)
this._relay = new Relay(client, logConfig)
this._relay.start()
}
log({ level, msg, meta }) {
this._relay.submit(new LogItem(+new Date(), level, msg, meta, () => ({})))
}
}
module.exports = CloudWatchTransport
......@@ -47,6 +47,7 @@
"typeface-noto-serif": "^0.0.54",
"typeface-ubuntu-mono": "^0.0.54",
"winston": "^2.4.0",
"winston-aws-cloudwatch": "^3.0.0",
"xpub-connect": "1.0.0",
"xpub-edit": "^2.4.0",
"xpub-journal": "^0.0.6",
......
This diff is collapsed.
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment