Skip to content

Commit

Permalink
add logging tests and fix misc bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremydaly committed Aug 19, 2018
1 parent fe54a08 commit dedd89e
Show file tree
Hide file tree
Showing 3 changed files with 877 additions and 12 deletions.
7 changes: 2 additions & 5 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -276,11 +276,8 @@ class API {

// Generate access log
if ((this._logger.access || response._request._logs.length > 0) && this._logger.access !== 'never') {
let access = this._logger.log(
'access',
undefined,
response._request,
response._request.context,
let access = Object.assign(
this._logger.log('access',undefined,response._request,response._request.context),
{ statusCode: res.statusCode, coldStart: response._request.coldStart }
)
console.log(JSON.stringify(this._logger.format(access,response._request,response))) // eslint-disable-line no-console
Expand Down
18 changes: 11 additions & 7 deletions lib/logger.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
* @license MIT
*/

// IDEA: request counts
// IDEA: unique function identifier

const UTILS = require('./utils') // Require utils library

// Config logger
Expand Down Expand Up @@ -54,7 +57,6 @@ exports.config = (config,levels) => {
path: req.path,
ip: req.ip,
ua: req.userAgent,
method: req.method,
version: req.version,
qs: Object.keys(req.query).length > 0 ? req.query : undefined
}
Expand All @@ -77,14 +79,15 @@ exports.config = (config,levels) => {
req: cfg.serializers && typeof cfg.serializers.req === 'function' ? cfg.serializers.req : () => {},
res: cfg.serializers && typeof cfg.serializers.res === 'function' ? cfg.serializers.res : () => {},
context: cfg.serializers && typeof cfg.serializers.context === 'function' ? cfg.serializers.context : () => {},
custom: cfg.serializers && typeof cfg.serializers.context === 'function' ? cfg.serializers.context : () => {}
custom: cfg.serializers && typeof cfg.serializers.custom === 'function' ? cfg.serializers.custom : () => {}
}

// Main logging function
let log = (level,msg,req,context,custom) => {

let _context = Object.assign(defaults.context(context),serializers.custom(context))
let _custom = Object.assign(defaults.custom(custom),serializers.custom(custom))
let _context = Object.assign({},defaults.context(context),serializers.context(context))
let _custom = typeof custom === 'string' ? defaults.custom(custom) :
Object.assign({},defaults.custom(custom),serializers.custom(custom))

return Object.assign({},
{
Expand All @@ -101,13 +104,14 @@ exports.config = (config,levels) => {
nested ? { [customKey]: _custom } : _custom,
nested ? { context: _context } : _context
)
}

} // end log

// Formatting function for additional log data enrichment
let format = function(info,req,res) {

let _req = Object.assign(defaults.req(req),serializers.req(req))
let _res = Object.assign(defaults.res(res),serializers.res(res))
let _req = Object.assign({},defaults.req(req),serializers.req(req))
let _res = Object.assign({},defaults.res(res),serializers.res(res))

return Object.assign({},
info,
Expand Down
Loading

0 comments on commit dedd89e

Please sign in to comment.