1
0
mirror of https://github.com/labstack/echo.git synced 2026-05-16 09:48:24 +02:00
Files
echo/website/content/guide/customization.md
T
Vishal Rana 069e80b9e0 Mention about custom listener
Signed-off-by: Vishal Rana <vr@labstack.com>
2017-01-18 12:17:44 -08:00

2.1 KiB

+++ title = "Customization" description = "Customizing Echo" [menu.main] name = "Customization" parent = "guide" weight = 3 +++

Debug

Echo#Debug can be used to enable / disable debug mode. Debug mode sets the log level to DEBUG.

Logging

Log Output

Echo#Logger.SetOutput(io.Writer) can be used to set the output destination for the logger. Default value is os.Stdout

To completely disable logs use Echo#Logger.SetOutput(ioutil.Discard) or Echo#Logger.SetLevel(log.OFF)

Log Level

Echo#Logger.SetLevel(log.Lvl) can be used to set the log level for the logger. Default value is OFF. Possible values:

  • DEBUG
  • INFO
  • WARN
  • ERROR
  • OFF

Custom Logger

Logging is implemented using echo.Logger interface which allows you to register a custom logger using Echo#Logger.

Custom Server

Echo#StartServer() can be used to run a custom server.

Example

s := &http.Server{
  Addr:         ":1323",
  ReadTimeout:  20 * time.Minute,
  WriteTimeout: 20 * time.Minute,
}
e.Logger.Fatal(e.StartServer(s))

Custom Listener

Echo#*Listener can be used to run a custom listener.

Example

l, err := net.Listen("tcp", ":1323")
if err != nil {
  e.Logger.Fatal(l)
}
e.Listener = l
e.Logger.Fatal(e.Start(""))

Disable HTTP/2

Echo#DisableHTTP2 can be used disable HTTP/2 protocol.

Read Timeout

Echo#*Server#ReadTimeout can be used to set the maximum duration before timing out read of the request.

Write Timeout

Echo#*Server#WriteTimeout can be used to set the maximum duration before timing out write of the response.

Validator

Echo#Validator can be used to register a validator for performing data validation on request payload.

Learn more

Custom Binder

Echo#Binder can be used to register a custom binder for binding request payload.

Learn more

Renderer

Echo#Renderer can be used to register a renderer for template rendering.

Learn more

HTTP Error Handler

Echo#HTTPErrorHandler can be used to register a custom http error handler.

Learn more