hapi-common-log

1.1.0 • Public • Published

hapi-common-log

Parses the hapi request object to create a common log format log line

Usage

 
var toCommonLogFormat = require('hapi-common-log');
 
server.ext('onPostHandler', function (request, next) {
  console.log(toCommonLogFormat(request));
  next();
});
 
// output: 127.0.0.1 - 1419961634390-24985-29768 [30/Dec/2014:09:47:14 -0800] "GET /static/images/npm-logo.svg HTTP/1.1" 200 -
 

Options

Sometimes you want a specific header for incoming client IP (i.e. if you've got a proxy). To customize:

 
toCommonLogFormat(request, { ipHeader: 'x-forwarded-to' });
 

The Common Log Format

From the Wikipedia page on Common Log Format:

127.0.0.1 user-identifier frank [10/Oct/2000: 13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

A "-" in a field indicates missing data.[citation needed]

  • 127.0.0.1 is the IP address of the client (remote host) which made the request to the server.
  • user-identifier is the RFC 1413 identity of the client.
  • frank is the userid of the person requesting the document.
  • [10/Oct/2000:13:55:36 -0700] is the date, time, and time zone when the server finished processing the request, by default in strftime format %d/%b/%Y:%H:%M:%S %z.
  • "GET /apache_pb.gif HTTP/1.0" is the request line from the client. The method GET, /apache_pb.gif the resource requested, and HTTP/1.0 the HTTP protocol.
  • 200 is the HTTP status code returned to the client. 2xx is a successful response, 3xx a redirection, 4xx a client error, and 5xx a server error.
  • 2326 is the size of the object returned to the client, measured in bytes.

License

ISC

Package Sidebar

Install

npm i hapi-common-log

Weekly Downloads

25

Version

1.1.0

License

ISC

Last publish

Collaborators

  • rockbot