refactoring logs: use winston

This commit is contained in:
les
2021-03-05 14:17:10 +01:00
parent 589a8ce939
commit 65cb94dd6a
22 changed files with 1977 additions and 1229 deletions

View File

@@ -1,5 +1,5 @@
const Announcement = require('../models/announcement')
const debug = require('debug')('announcement:controller')
const log = require('../../log')
const announceController = {
async getAll (req, res) {
@@ -17,7 +17,7 @@ const announceController = {
announcement: req.body.announcement,
visible: true
}
debug('Create announcement ', req.body.title)
log.debug('Create announcement ', req.body.title)
const announce = await Announcement.create(announcementDetail)
res.json(announce)
},
@@ -34,20 +34,20 @@ const announceController = {
announce = await announce.update(announceDetails)
res.json(announce)
} catch (e) {
debug('Toggle announcement failed ', e)
log.debug('Toggle announcement failed ', e)
res.sendStatus(404)
}
},
async remove (req, res) {
debug('Remove announcement ', req.params.announce_id)
log.debug('Remove announcement ', req.params.announce_id)
const announce_id = req.params.announce_id
try {
const announce = await Announcement.findByPk(announce_id)
await announce.destroy()
res.sendStatus(200)
} catch (e) {
debug('Remove announcement failed ', e)
log.debug('Remove announcement failed ', e)
res.sendStatus(404)
}
}

View File

@@ -52,7 +52,7 @@ const eventController = {
},
async getNotifications (event, action) {
log.info('getNotifications "%s" (%s)', event.title, action)
log.debug(`getNotifications ${event.title} ${action}`)
function match (event, filters) {
// matches if no filter specified
if (!filters) { return true }
@@ -165,11 +165,16 @@ const eventController = {
async confirm (req, res) {
const id = Number(req.params.event_id)
const event = await Event.findByPk(id, { include: [Place, Tag] })
if (!event) { return res.sendStatus(404) }
if (!event) {
log.warn(`Trying to confirm a unknown event, id: ${id}`)
return res.sendStatus(404)
}
if (!req.user.is_admin && req.user.id !== event.userId) {
log.warn(`Someone unallowed is trying to confirm -> "${event.title} `)
return res.sendStatus(403)
}
log.info(`Event "${event.title}" confirmed`)
try {
event.is_visible = true
@@ -189,7 +194,7 @@ const eventController = {
const notifier = require('../../notifier')
notifier.notifyEvent('Create', event.id)
} catch (e) {
log.info(e)
log.error(e)
res.sendStatus(404)
}
},
@@ -326,8 +331,7 @@ const eventController = {
notifier.notifyEvent('Create', event.id)
}
} catch (e) {
process.winstonLog.error(e)
log.info(e)
log.error(e)
res.sendStatus(400)
}
},

View File

@@ -7,8 +7,8 @@ const OAuthToken = require('../models/oauth_token')
const OAuthCode = require('../models/oauth_code')
const User = require('../models/user')
const debug = require('debug')('oauth')
const moment = require('dayjs')
const log = require('../../log')
const dayjs = require('dayjs')
async function randomString (len = 16) {
const bytes = await randomBytes(len * 8)
@@ -42,7 +42,7 @@ const oauthController = {
delete client.id
res.json(client)
} catch (e) {
debug(e)
log.error(e)
res.status(400).json(e)
}
},
@@ -136,14 +136,14 @@ const oauthController = {
async saveAuthorizationCode (code, client, user) {
code.userId = user.id
code.clientId = client.id
code.expiresAt = moment(code.expiresAt).toDate()
code.expiresAt = dayjs(code.expiresAt).toDate()
const ret = await OAuthCode.create(code)
return ret
},
// TODO
verifyScope (token, scope) {
debug('VERIFY SCOPE ', scope)
log.debug('VERIFY SCOPE ', scope)
if (token.user.is_admin) {
return true
} else {

View File

@@ -4,7 +4,6 @@ const consola = require('consola')
const path = require('path')
const fs = require('fs')
const pkg = require('../../../package.json')
const debug = require('debug')('settings')
const crypto = require('crypto')
const util = require('util')
const toIco = require('to-ico')
@@ -12,6 +11,7 @@ const generateKeyPair = util.promisify(crypto.generateKeyPair)
const readFile = util.promisify(fs.readFile)
const writeFile = util.promisify(fs.writeFile)
const sharp = require('sharp')
const log = require('../../log')
const defaultSettings = {
instance_timezone: 'Europe/Rome',
@@ -61,7 +61,7 @@ const settingsController = {
// add pub/priv instance key if needed
if (!settingsController.settings.publicKey) {
debug('Instance priv/pub key not found')
log.debug('Instance priv/pub key not found')
const { publicKey, privateKey } = await generateKeyPair('rsa', {
modulusLength: 4096,
publicKeyEncoding: {
@@ -92,6 +92,7 @@ const settingsController = {
},
async set (key, value, is_secret = false) {
log.debug(`SET ${key} ${value}`)
try {
const [setting, created] = await Setting.findOrCreate({
where: { key },
@@ -101,7 +102,7 @@ const settingsController = {
settingsController[is_secret ? 'secretSettings' : 'settings'][key] = value
return true
} catch (e) {
debug(e)
log.error(e)
return false
}
},
@@ -125,6 +126,9 @@ const settingsController = {
.resize(400)
.png({ quality: 90 })
.toFile(baseImgPath + '.png', async (err, info) => {
if (err) {
log.error(err)
}
const image = await readFile(baseImgPath + '.png')
const favicon = await toIco([image], { sizes: [64], resize: true })
writeFile(baseImgPath + '.ico', favicon)

View File

@@ -4,7 +4,7 @@ const config = require('config')
const mail = require('../mail')
const User = require('../models/user')
const settingsController = require('./settings')
const debug = require('debug')('user:controller')
const log = require('../../log')
const linkify = require('linkifyjs')
const userController = {
@@ -96,9 +96,9 @@ const userController = {
return res.status(404).json('Invalid email')
}
debug('Register user ', req.body.email)
log.debug('Register user ', req.body.email)
const user = await User.create(req.body)
debug(`Sending registration email to ${user.email}`)
log.debug(`Sending registration email to ${user.email}`)
mail.send(user.email, 'register', { user, config }, req.settings.locale)
mail.send(config.admin_email, 'admin_register', { user, config })
res.sendStatus(200)