Skip to content
This repository has been archived by the owner on Apr 3, 2024. It is now read-only.

npm/common-log-object

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

common-log-string

Dead stupid function to generate a common-log-format-ish string from request & response objects. Not guaranteed to work with anything other than node-restify.

on npm Tests

I wrote this because I wanted something that didn't attempt to write things to a log file and could be plugged into restify as middleware. Sample output:

- - [12/Mar/2015:08:54:46 -0700] "GET /_monitor/ping HTTP/1.1" 200 6 "" "HTTPie/0.8.0"

How to use:

var restify = require('restify');
var logstring = require('common-log-string');

var server = restify.createServer();
server.on('after', request, response, route, error)
{
    var output = logstring(request, response);
    request.logger.info(output);
});

Order of fields:

  1. client ip
  2. client id as per RFC 1413; (unfilled)
  3. userid as determined by http auth (unfilled by this implementation)
  4. timestamp
  5. http request line
  6. response status code
  7. length of response body, if available
  8. referrer string, from request headers
  9. user agent string, from request headers
  10. accept string, from request headers
  11. elapsed time in milliseconds

The second to last is non-standard but useful.

Options

You may optionally pass an options object as the third parameter to the function. One option is currently respected:

ipHeader: report the client IP from this header instead of the address of the remote socket. Useful if you wish to log X-Forwarded-For IPs instead of the IP of an intermediate proxy.

LICENSE

ISC.

About

Dead stupid function to generate a common-log-format-ish string from request & response objects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%