Samples for supported Server Frameworks
This library can be used in combination with several different server frameworks. You can find small code samples for each supported framework below.
Table of contents
Express
const app = require('express')()
const log = require('cf-nodejs-logging-support')
// Configure logger for working with Express framework
log.setFramework(log.Framework.Express)
// Add the logger middleware to write access logs
app.use(log.logNetwork)
// Handle '/' path
app.get("/", (req, res) => {
// Write a log message bound to request context
req.logger.info(`Sending a greeting`)
res.send("Hello Express")
})
// Listen on specified port
const listener = app.listen(3000, () => {
// Formatted log message
log.info("Server is listening on port %d", listener.address().port)
})
Connect
const app = require('connect')()
const http = require('http')
const log = require('cf-nodejs-logging-support')
// Configure logger for working with Connect framework
log.setFramework(log.Framework.Connect)
// Add the logger middleware to write access logs
app.use(log.logNetwork)
// Handle '/' path
app.use("/", (req, res) => {
// Write a log message bound to request context
req.logger.info(`Sending a greeting`)
res.end("Hello Connect")
})
// Listen on specified port
const server = http.createServer(app).listen(3000, () => {
// Formatted log message
log.info("Server is listening on port %d", server.address().port)
})
Restify
const restify = require('restify')
const log = require('cf-nodejs-logging-support')
const app = restify.createServer()
// Configure logger for working with Restify framework
log.setFramework(log.Framework.Restify)
// Add the logger middleware to write access logs
app.use(log.logNetwork)
// Handle '/' path
app.get("/", (req, res, next) => {
// Write a log message bound to request context
req.logger.info(`Sending a greeting`)
res.send("Hello Restify")
next()
})
// Listen on specified port
app.listen(3000, () => {
// Formatted log message
log.info("Server is listening on port %d", app.address().port)
})
Fastify
const log = require('cf-nodejs-logging-support')
const app = require('fastify')()
// Configure logger for working with Fastify framework
log.setFramework(log.Framework.Fastify)
// Add the logger middleware to write access logs
app.addHook("onRequest", log.logNetwork)
// Handle '/' path
app.get("/", (request, reply) => {
// Write a log message bound to request context
request.logger.info(`Sending a greeting`)
reply.send("Hello Fastify")
})
// Listen on specified port
app.listen({ port: 3000 }, (err, address) => {
if (err) {
// Formatted error message
log.error("Failed to run server", err.message)
process.exit(1)
}
// Formatted log message
log.info(`Server is listening on ${address}`)
})
Node.js HTTP
const log = require('cf-nodejs-logging-support')
const http = require('http')
// Configure logger for working with Node.js http framework
log.setFramework(log.Framework.NodeJsHttp)
const server = http.createServer((req, res) => {
// Call logger middleware to write access logs
log.logNetwork(req, res)
// Write a log message bound to request context
req.logger.info(`Sending a greeting`)
res.send("Hello Node.js HTTP")
})
// Listen on specified port
server.listen(3000, () => {
// Formatted log message
log.info("Server is listening on port %d", server.address().port)
})