Files
bodyshop/server/utils/logger.js
2024-10-24 11:50:54 -07:00

67 lines
1.6 KiB
JavaScript

const graylog2 = require("graylog2");
const InstanceManager = require("../utils/instanceMgr").default;
const logger = new graylog2.graylog({
servers: [{ host: "logs.bodyshop.app", port: 12201 }]
});
const winston = require("winston");
const WinstonCloudWatch = require("winston-cloudwatch");
const region = InstanceManager({
imex: "ca-central-1",
rome: "us-east-2"
});
const logGroupName = process.env.CLOUDWATCH_LOG_GROUP;
const winstonLogger = winston.createLogger({
//level: "debug",
format: winston.format.json(),
transports: [
...(process.env.NODE_ENV !== "production" ? [new winston.transports.Console({ level: "silly" })] : []),
new WinstonCloudWatch({
level: "error",
logGroupName: logGroupName,
logStreamName: "errors",
awsRegion: region,
jsonMessage: true
}),
new WinstonCloudWatch({
level: "warn",
logGroupName: logGroupName,
logStreamName: "warn",
awsRegion: region,
jsonMessage: true
}),
new WinstonCloudWatch({
level: "debug",
logGroupName: logGroupName,
logStreamName: "debug",
awsRegion: region,
jsonMessage: true
})
]
});
function log(message, type, user, record, object) {
// winstonLogger.debug(message, user, record, object);
winstonLogger.log({
level: type.toLowerCase(),
message: message,
user: user,
record: record,
object: object
});
// logger.log(message, message, {
// type,
// env: process.env.NODE_ENV || "development",
// user,
// record,
// ...object
// });
}
module.exports = { log };