sails-hook-apianalytics
v2.0.6
Published
Hook for advanced logging of API requests to a Sails.js server.
Downloads
9,519
Readme
sails-hook-apianalytics
A Sails hook for logging detailed request metadata and monitoring your API.
This hook is for Sails v1 and up, and it also maintains backwards compatibility for Sails <=v0.12. But be aware that it provides much richer default logging for requests handled via actions2 (which is only available in Sails v1).
Install
From your sails app:
$ npm install sails-hook-apianalytics --save
That's it! Next time you lift, and then send a request to the server, you should see stuff getting logged.
It will look something like this:
Configuration
This hook works pretty well for most use cases out of the box.
Optionally, you can customize this hook in a few different ways by configuring sails.config.apianalytics
.
For instance, you might create config/apianalytics.js
:
// `config/apianalytics.js`
module.exports = {
apianalytics: {
/**
* An array of route addresses to monitor.
*
* (e.g. [ 'GET /foo/bar', 'POST /foo', 'all /admin/*' ])
*
* Defaults to logging all POST, PATCH, PUT, DELETE requests, and all
* GET requests except for those that appear to be for assets
* (i.e. using "GET r|^((?![^?]*\\/[^?\\/]+\\.[^?\\/]+(\\?.*)?).)*$|")
*/
routesToLog: [
// If you want to log everything- including requests for assets, use the following:
'/*'
],
/**
* Request parameters which should NEVER be logged.
* If seen, they will be replaced with "*REDACTED*"
*
* (e.g. "password")
*
* > WARNING:
* > This is a SHALLOW check of request body, querystring, and route path parameters.
* > Deeply nested properties with these names are not redacted.
*/
dontLogParams: [
'password',
'token'
]
}
};
Help
If you have further questions or are having trouble, click here.
Bugs
To report a bug, click here.
Contributing
Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.
License
MIT © 2013-2016 Mike McNeil
As for the Sails framework, it's free and open-source under the MIT License too.