github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/api/loglevelserver/set.go (about)

     1  package loglevelserver
     2  
     3  import (
     4  	"io/ioutil"
     5  	"net/http"
     6  
     7  	"code.cloudfoundry.org/lager"
     8  	"github.com/pf-qiu/concourse/v6/atc"
     9  )
    10  
    11  func (s *Server) SetMinLevel(w http.ResponseWriter, r *http.Request) {
    12  	body, err := ioutil.ReadAll(r.Body)
    13  	if err != nil {
    14  		w.WriteHeader(http.StatusBadRequest)
    15  		return
    16  	}
    17  
    18  	var level lager.LogLevel
    19  
    20  	switch atc.LogLevel(string(body)) {
    21  	case atc.LogLevelDebug:
    22  		level = lager.DEBUG
    23  	case atc.LogLevelInfo:
    24  		level = lager.INFO
    25  	case atc.LogLevelError:
    26  		level = lager.ERROR
    27  	case atc.LogLevelFatal:
    28  		level = lager.FATAL
    29  	default:
    30  		w.WriteHeader(http.StatusBadRequest)
    31  		return
    32  	}
    33  
    34  	s.sink.SetMinLevel(level)
    35  }