Name: js-handler/node_modules/restify/node_modules/bunyan/examples/server.js
| 1: | // Example logging HTTP server request and response objects. |
| 2: | |
| 3: | var http = require('http'); |
| 4: | var Logger = require('../lib/bunyan'); |
| 5: | |
| 6: | var log = new Logger({ |
| 7: | name: 'myserver', |
| 8: | serializers: { |
| 9: | req: Logger.stdSerializers.req, |
| 10: | res: Logger.stdSerializers.res |
| 11: | } |
| 12: | }); |
| 13: | |
| 14: | var server = http.createServer(function (req, res) { |
| 15: | log.info({req: req}, 'start request'); // <-- this is the guy we're testing |
| 16: | res.writeHead(200, {'Content-Type': 'text/plain'}); |
| 17: | res.end('Hello World\n'); |
| 18: | log.info({res: res}, 'done response'); // <-- this is the guy we're testing |
| 19: | }); |
| 20: | server.listen(1337, '127.0.0.1', function () { |
| 21: | log.info('server listening'); |
| 22: | var options = { |
| 23: | port: 1337, |
| 24: | hostname: '127.0.0.1', |
| 25: | path: '/path?q=1#anchor', |
| 26: | headers: { |
| 27: | 'X-Hi': 'Mom' |
| 28: | } |
| 29: | }; |
| 30: | var req = http.request(options); |
| 31: | req.on('response', function (res) { |
| 32: | res.on('end', function () { |
| 33: | process.exit(); |
| 34: | }) |
| 35: | }); |
| 36: | req.write('hi from the client'); |
| 37: | req.end(); |
| 38: | }); |
| 39: | |
| 40: | |
| 41: | /* BEGIN JSSTYLED */ |
| 42: | /** |
| 43: | * |
| 44: | * $ node server.js |
| 45: | * {"service":"myserver","hostname":"banana.local","level":3,"msg":"server listening","time":"2012-02-02T05:32:13.257Z","v":0} |
| 46: | * {"service":"myserver","hostname":"banana.local","req":{"method":"GET","url":"/path?q=1#anchor","headers":{"x-hi":"Mom","connection":"close"}},"level":3,"msg":"start request","time":"2012-02-02T05:32:13.260Z","v":0} |
| 47: | * {"service":"myserver","hostname":"banana.local","res":{"statusCode":200,"_hasBody":true,"_header":"HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nConnection: close\r\nTransfer-Encoding: chunked\r\n\r\n","_trailer":""},"level":3,"msg":"done response","time":"2012-02-02T05:32:13.261Z","v":0} |
| 48: | * |
| 49: | * $ node server.js | ../bin/bunyan |
| 50: | * [2012-02-02T05:32:16.006Z] INFO: myserver on banana.local: server listening |
| 51: | * [2012-02-02T05:32:16.010Z] INFO: myserver on banana.local: start request |
| 52: | * GET /path?q=1#anchor |
| 53: | * x-hi: Mom |
| 54: | * connection: close |
| 55: | * [2012-02-02T05:32:16.011Z] INFO: myserver on banana.local: done response |
| 56: | * HTTP/1.1 200 OK |
| 57: | * Content-Type: text/plain |
| 58: | * Connection: close |
| 59: | * Transfer-Encoding: chunked |
| 60: | * (body) |
| 61: | * |
| 62: | */ |
| 63: | /* END JSSTYLED */ |
