1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-07-19 03:29:37 +02:00

Imporved logger

This commit is contained in:
unknown 2021-06-22 14:49:00 +02:00
parent 5ae4d6e7c4
commit e3ed429da1
12 changed files with 89 additions and 55 deletions

View file

@ -1,40 +1,39 @@
const fs = require('fs');
class Logger {
constructor() {
this.logFileHandler();
log(message, level = 'INFO') {
console.log(`[${this.generateTimestamp()}] [${level}] ${message}`)
}
logFileHandler() {
if (!fs.existsSync('./flame.log')) {
fs.writeFileSync('./flame.log', '');
} else {
console.log('file exists');
generateTimestamp() {
const d = new Date();
// Date
const year = d.getFullYear();
const month = this.parseDate(d.getMonth() + 1);
const day = this.parseDate(d.getDate());
// Time
const hour = this.parseDate(d.getHours());
const minutes = this.parseDate(d.getMinutes());
const seconds = this.parseDate(d.getSeconds());
const miliseconds = this.parseDate(d.getMilliseconds(), true);
// Timezone
const tz = -d.getTimezoneOffset() / 60;
return `${year}-${month}-${day} ${hour}:${minutes}:${seconds}.${miliseconds} UTC${tz > 0 ? '+' + tz : tz}`;
}
parseDate(date, ms = false) {
if (ms) {
if (date >= 10 && date < 100) {
return `0${date}`;
} else if (date < 10) {
return `00${date}`;
}
}
}
writeLog(logMsg, logType) {
}
generateLog(logMsg, logType) {
const now = new Date();
const date = `${this.parseNumber(now.getDate())}-${this.parseNumber(now.getMonth() + 1)}-${now.getFullYear()}`;
const time = `${this.parseNumber(now.getHours())}:${this.parseNumber(now.getMinutes())}:${this.parseNumber(now.getSeconds())}.${now.getMilliseconds()}`;
const log = `[${date} ${time}]: ${logType} ${logMsg}`;
return log;
// const timestamp = new Date().toISOString();
}
parseNumber(number) {
if (number > 9) {
return number;
} else {
return `0${number}`;
}
return date < 10 ? `0${date}` : date.toString();
}
}
// console.log(logger.generateLog('testMsg', 'INFO'));
module.exports = new Logger();
module.exports = Logger;

View file

@ -1,5 +1,7 @@
const { Op } = require('sequelize');
const Weather = require('../models/Weather');
const Logger = require('./Logger');
const logger = new Logger();
const clearWeatherData = async () => {
const weather = await Weather.findOne({
@ -16,7 +18,7 @@ const clearWeatherData = async () => {
})
}
console.log('Old weather data was deleted');
logger.log('Old weather data was deleted');
}
module.exports = clearWeatherData;

View file

@ -1,6 +1,8 @@
const { Op } = require('sequelize');
const Config = require('../models/Config');
const { config } = require('./initialConfig.json');
const Logger = require('./Logger');
const logger = new Logger();
const initConfig = async () => {
// Get config values
@ -26,7 +28,7 @@ const initConfig = async () => {
}
})
console.log('Initial config created');
logger.log('Initial config created');
return;
}

View file

@ -2,15 +2,17 @@ const schedule = require('node-schedule');
const getExternalWeather = require('./getExternalWeather');
const clearWeatherData = require('./clearWeatherData');
const Sockets = require('../Sockets');
const Logger = require('./Logger');
const logger = new Logger();
// Update weather data every 15 minutes
const weatherJob = schedule.scheduleJob('updateWeather', '0 */15 * * * *', async () => {
try {
const weatherData = await getExternalWeather();
console.log('weather updated');
logger.log('Weather updated');
Sockets.getSocket('weather').socket.send(JSON.stringify(weatherData));
} catch (err) {
console.log(err.message);
logger.log(err.message, 'ERROR');
}
})