All kinds of great changes
This commit is contained in:
49
logAggregator.js
Normal file
49
logAggregator.js
Normal file
@@ -0,0 +1,49 @@
|
||||
const micro = require('micro');
|
||||
const { json, send } = require('micro');
|
||||
const { RuleEngine } = require('./RuleEngine');
|
||||
const fs = require('fs');
|
||||
const jsonminify = require('jsonminify');
|
||||
const winston = require("winston");
|
||||
|
||||
const logger = winston.createLogger({
|
||||
level: 'info',
|
||||
format: winston.format.combine(
|
||||
winston.format.timestamp(),
|
||||
winston.format.printf(info => {
|
||||
return `${info.timestamp} ${info.level}: ${info.message}`;
|
||||
})
|
||||
),
|
||||
transports: [
|
||||
new winston.transports.Console(),
|
||||
new winston.transports.File({ filename: './log/LogAggregatorError.log', level: 'error' }),
|
||||
new winston.transports.File({ filename: './log/Combined.log' })
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
const ruleEngine = new RuleEngine("casrpslog");
|
||||
logger.log("info","Service Starting.");
|
||||
const server = micro(async (req, res) => {
|
||||
const js = await json(req);
|
||||
|
||||
try {
|
||||
inputLine = JSON.parse(js);
|
||||
} catch (ex) {
|
||||
logger.log("error","Input not in JSON format:" + line);
|
||||
}
|
||||
|
||||
let isWhiteListed = ruleEngine.processData(inputLine);
|
||||
let miniInput=jsonminify(JSON.stringify(inputLine)) ;
|
||||
let now = Date();
|
||||
if (isWhiteListed) {
|
||||
logger.log("debug","Not Whitelisted: " + miniInput);
|
||||
fs.appendFileSync("./log/skipped.log",miniInput + "\n");
|
||||
} else {
|
||||
logger.log("info","Not Whitelisted: " + miniInput);
|
||||
fs.appendFileSync("./log/issues.log",miniInput + "\n");
|
||||
}
|
||||
|
||||
send(res, 200, "OK");
|
||||
});
|
||||
|
||||
server.listen(2222);
|
||||
Reference in New Issue
Block a user