GithubHelp home page GithubHelp logo

fitraelbi / krakend-gin-logger Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ifaisalalam/krakend-gin-logger

0.0 0.0 0.0 19 KB

Module for KrakenD that enables getting GIN router logs in JSON format.

License: Apache License 2.0

Go 100.00%

krakend-gin-logger's Introduction

KrakenD GIN Logger

The module enables getting GIN router logs in JSON format.

Setting Up

Clone the KrakenD-CE repository and update the following changes in the router_engine.go file:

import (
+    "github.com/ifaisalalam/krakend-gin-logger"
)

// NewEngine creates a new gin engine with some default values and a secure middleware
func NewEngine(cfg config.ServiceConfig, logger logging.Logger, w io.Writer) *gin.Engine {
     if !cfg.Debug {
         gin.SetMode(gin.ReleaseMode)
     }

     engine := gin.New()
-    engine.Use(gin.LoggerWithConfig(gin.LoggerConfig{Output: w}), gin.Recovery())
+    engine.Use(gin_logger.NewLogger(
+	       cfg.ExtraConfig,
+	       logger,
+	       gin.LoggerConfig{Output: w}), gin.Recovery())

In KrakenD's configuration.json file, add the following to the service extra_config:

{
  "extra_config": {
    "github_com/ifaisalalam/krakend-gin-logger": {
      "enabled": true
    }
  }
}

Available Config Options

skip_paths: List of endpoint paths which should not be logged.

Example:

{
  "extra_config": {
    "github_com/ifaisalalam/krakend-gin-logger": {
      "enabled": true,
      "skip_paths": ["/__health", "/api/ignore"]
    }
  }
}

In the above example configuration, any request to /__health or /api/ignore will not be logged by GIN.

Usage with KrakenD Logstash

The module can also be used with Logstash. Simply enable Logstash in the service extra_config.

{
  "extra_config": {
    "github_com/devopsfaith/krakend-logstash": {
      "enabled": true
    },
    "github_com/devopsfaith/krakend-gologging": {
      "level": "INFO",
      "prefix": "[KRAKEND]",
      "syslog": false,
      "stdout": true,
      "format": "custom",
      "custom_format": "%{message}"
    },
    "github_com/ifaisalalam/krakend-gin-logger": {
      "enabled": true
    }
  }
}

krakend-gin-logger's People

Contributors

ifaisalalam avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.