radivoje.milutinovic 3 лет назад
Родитель
Сommit
b4c0ee6e00
7 измененных файлов: 10 добавлений и 33 удалений
  1. 2
    1
      .gitignore
  2. 0
    11
      package-lock.json
  3. 0
    1
      package.json
  4. 4
    3
      src/logging/logger.js
  5. 0
    10
      src/logging/loggerElmah.js
  6. 3
    6
      src/middleware/errorHandling.js
  7. 1
    1
      src/middleware/requestLogging.js

+ 2
- 1
.gitignore Просмотреть файл

node_modules/ node_modules/
loggerFiles/ loggerFiles/
public/loggerFiles
public/loggerFiles
.idea

+ 0
- 11
package-lock.json Просмотреть файл

"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
"config": "^3.3.7", "config": "^3.3.7",
"cors": "^2.8.5", "cors": "^2.8.5",
"elmah.io.javascript": "^3.7.0",
"express": "^4.18.1", "express": "^4.18.1",
"express-jwt": "^7.7.2", "express-jwt": "^7.7.2",
"helmet": "^5.1.0", "helmet": "^5.1.0",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
}, },
"node_modules/elmah.io.javascript": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/elmah.io.javascript/-/elmah.io.javascript-3.7.0.tgz",
"integrity": "sha512-s7yyLo8tlZPURYxsT4tS977FfEXXaMzkbxZNLVRc90v949NgdfeJYLYyYe6c5fhcQkiIPsy3TgOCErSpaJWGvw=="
},
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
}, },
"elmah.io.javascript": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/elmah.io.javascript/-/elmah.io.javascript-3.7.0.tgz",
"integrity": "sha512-s7yyLo8tlZPURYxsT4tS977FfEXXaMzkbxZNLVRc90v949NgdfeJYLYyYe6c5fhcQkiIPsy3TgOCErSpaJWGvw=="
},
"emoji-regex": { "emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",

+ 0
- 1
package.json Просмотреть файл

"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
"config": "^3.3.7", "config": "^3.3.7",
"cors": "^2.8.5", "cors": "^2.8.5",
"elmah.io.javascript": "^3.7.0",
"express": "^4.18.1", "express": "^4.18.1",
"express-jwt": "^7.7.2", "express-jwt": "^7.7.2",
"helmet": "^5.1.0", "helmet": "^5.1.0",

src/logging/loggerWinston.js → src/logging/logger.js Просмотреть файл

const winston = require('winston') const winston = require('winston')
const config = require('config') const config = require('config')


const loggerWinston = winston.createLogger({
const logger = winston.createLogger({
level: 'info', level: 'info',
format: winston.format.json(), format: winston.format.json(),
defaultMeta: { service: 'user-service' }, defaultMeta: { service: 'user-service' },
transports: [ transports: [
new winston.transports.File({ filename: '../public/loggerFiles/error.log', level: 'error' }), new winston.transports.File({ filename: '../public/loggerFiles/error.log', level: 'error' }),
new winston.transports.File({ filename: '../public/loggerFiles/all.log', level: 'silly' }), new winston.transports.File({ filename: '../public/loggerFiles/all.log', level: 'silly' }),
new winston.transports.Console({level: 'silly'}),
], ],
}); });


if (config.util.getEnv('NODE_ENV') !== 'production') { if (config.util.getEnv('NODE_ENV') !== 'production') {
loggerWinston.add(new winston.transports.Console({
logger.add(new winston.transports.Console({
format: winston.format.simple(), format: winston.format.simple(),
})); }));
} }


module.exports = loggerWinston
module.exports = logger

+ 0
- 10
src/logging/loggerElmah.js Просмотреть файл

// const Elmahio = require("elmah.io.javascript")
//
// // TODO: da li ovo treba u configu (appsettings.json) da bude ili moze ovde hardkodirano
// const loggerElmah = new Elmahio({
// apiKey: 'API_KEY',
// logId: 'LOG_ID',
// application: 'diligent-node-api'
// })
//
// module.exports = loggerElmah

+ 3
- 6
src/middleware/errorHandling.js Просмотреть файл

//const loggerElmah = require('../logging/loggerElmah')
const loggerWinston = require('../logging/loggerWinston')
const logger = require('../logging/logger')
const config = require('config') const config = require('config')
const errorLogger = (err, req, res, next) => { const errorLogger = (err, req, res, next) => {
console.error(err)
//console.error(err)
if (config.util.getEnv('NODE_ENV') === 'development') if (config.util.getEnv('NODE_ENV') === 'development')
loggerWinston.error(err)
// else
// loggerElmah.error('There has been an error', err)
logger.error(err)
next(err) next(err)
} }

+ 1
- 1
src/middleware/requestLogging.js Просмотреть файл

const logger = require("../logging/loggerWinston")
const logger = require("../logging/logger")
const requestLogging = async (req, res, next) => { const requestLogging = async (req, res, next) => {
res.header("Content-Type", 'application/json'); res.header("Content-Type", 'application/json');

Загрузка…
Отмена
Сохранить