Add http header logging (#2890)
This commit is contained in:
parent
a610ce870c
commit
7a7f787f11
5 changed files with 67 additions and 35 deletions
|
|
@ -1,12 +1,15 @@
|
|||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/evcc-io/evcc/api"
|
||||
"github.com/evcc-io/evcc/cmd/shutdown"
|
||||
"github.com/evcc-io/evcc/server"
|
||||
"github.com/evcc-io/evcc/util"
|
||||
"github.com/evcc-io/evcc/util/request"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
|
@ -22,11 +25,12 @@ const noCurrent = -1
|
|||
|
||||
func init() {
|
||||
rootCmd.AddCommand(chargerCmd)
|
||||
chargerCmd.PersistentFlags().StringP(flagName, "n", "", "select charger by name")
|
||||
chargerCmd.PersistentFlags().IntP(flagCurrent, "I", noCurrent, "set current")
|
||||
chargerCmd.PersistentFlags().BoolP(flagEnable, "e", false, flagEnable)
|
||||
chargerCmd.PersistentFlags().BoolP(flagDisable, "d", false, flagDisable)
|
||||
chargerCmd.PersistentFlags().BoolP(flagWakeup, "w", false, flagWakeup)
|
||||
chargerCmd.PersistentFlags().StringP(flagName, "n", "", fmt.Sprintf(flagNameDescription, "charger"))
|
||||
chargerCmd.PersistentFlags().IntP(flagCurrent, "I", noCurrent, flagCurrentDescription)
|
||||
chargerCmd.PersistentFlags().BoolP(flagEnable, "e", false, strings.Title(flagEnable))
|
||||
chargerCmd.PersistentFlags().BoolP(flagDisable, "d", false, strings.Title(flagDisable))
|
||||
chargerCmd.PersistentFlags().BoolP(flagWakeup, "w", false, flagWakeupDescription)
|
||||
chargerCmd.PersistentFlags().Bool(flagHeaders, false, flagHeadersDescription)
|
||||
}
|
||||
|
||||
func runCharger(cmd *cobra.Command, args []string) {
|
||||
|
|
@ -44,6 +48,11 @@ func runCharger(cmd *cobra.Command, args []string) {
|
|||
log.FATAL.Fatal(err)
|
||||
}
|
||||
|
||||
// full http request log
|
||||
if cmd.PersistentFlags().Lookup(flagHeaders).Changed {
|
||||
request.LogHeaders = true
|
||||
}
|
||||
|
||||
// select single charger
|
||||
if name := cmd.PersistentFlags().Lookup(flagName).Value.String(); name != "" {
|
||||
for _, cfg := range conf.Chargers {
|
||||
|
|
|
|||
23
cmd/flags.go
23
cmd/flags.go
|
|
@ -1,11 +1,24 @@
|
|||
package cmd
|
||||
|
||||
const (
|
||||
flagName = "name"
|
||||
flagCurrent = "current"
|
||||
flagHeaders = "log-headers"
|
||||
flagHeadersDescription = "Log headers"
|
||||
|
||||
flagName = "name"
|
||||
flagNameDescription = "Select %s by name"
|
||||
|
||||
flagCurrent = "current"
|
||||
flagCurrentDescription = "Set maximum current"
|
||||
|
||||
flagEnable = "enable"
|
||||
flagDisable = "disable"
|
||||
flagWakeup = "wakeup"
|
||||
flagStart = "start"
|
||||
flagStop = "stop"
|
||||
|
||||
flagWakeup = "wakeup"
|
||||
flagWakeupDescription = "Wake up"
|
||||
|
||||
flagStart = "start"
|
||||
flagStartDescription = "Start charging"
|
||||
|
||||
flagStop = "stop"
|
||||
flagStopDescription = "Stop charging"
|
||||
)
|
||||
|
|
|
|||
11
cmd/meter.go
11
cmd/meter.go
|
|
@ -1,9 +1,12 @@
|
|||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/evcc-io/evcc/api"
|
||||
"github.com/evcc-io/evcc/server"
|
||||
"github.com/evcc-io/evcc/util"
|
||||
"github.com/evcc-io/evcc/util/request"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
|
@ -17,7 +20,8 @@ var meterCmd = &cobra.Command{
|
|||
|
||||
func init() {
|
||||
rootCmd.AddCommand(meterCmd)
|
||||
meterCmd.PersistentFlags().StringP("name", "n", "", "select meter by name")
|
||||
meterCmd.PersistentFlags().StringP(flagName, "n", "", fmt.Sprintf(flagNameDescription, "meter"))
|
||||
meterCmd.PersistentFlags().Bool(flagHeaders, false, flagHeadersDescription)
|
||||
}
|
||||
|
||||
func runMeter(cmd *cobra.Command, args []string) {
|
||||
|
|
@ -35,6 +39,11 @@ func runMeter(cmd *cobra.Command, args []string) {
|
|||
log.FATAL.Fatal(err)
|
||||
}
|
||||
|
||||
// full http request log
|
||||
if cmd.PersistentFlags().Lookup(flagHeaders).Changed {
|
||||
request.LogHeaders = true
|
||||
}
|
||||
|
||||
// select single meter
|
||||
if name := cmd.PersistentFlags().Lookup("name").Value.String(); name != "" {
|
||||
for _, cfg := range conf.Meters {
|
||||
|
|
|
|||
32
cmd/root.go
32
cmd/root.go
|
|
@ -17,6 +17,7 @@ import (
|
|||
"github.com/evcc-io/evcc/server/updater"
|
||||
"github.com/evcc-io/evcc/util"
|
||||
"github.com/evcc-io/evcc/util/pipe"
|
||||
"github.com/evcc-io/evcc/util/request"
|
||||
"github.com/evcc-io/evcc/util/sponsor"
|
||||
"github.com/grandcat/zeroconf"
|
||||
"github.com/prometheus/client_golang/prometheus/promhttp"
|
||||
|
|
@ -71,33 +72,19 @@ func init() {
|
|||
cobra.OnInitialize(initConfig)
|
||||
configureCommand(rootCmd)
|
||||
|
||||
rootCmd.PersistentFlags().StringP(
|
||||
"uri", "u",
|
||||
"0.0.0.0:7070",
|
||||
"Listen address",
|
||||
)
|
||||
rootCmd.PersistentFlags().StringP("uri", "u", "0.0.0.0:7070", "Listen address")
|
||||
bind(rootCmd, "uri")
|
||||
|
||||
rootCmd.PersistentFlags().DurationP(
|
||||
"interval", "i",
|
||||
10*time.Second,
|
||||
"Update interval",
|
||||
)
|
||||
rootCmd.PersistentFlags().DurationP("interval", "i", 10*time.Second, "Update interval")
|
||||
bind(rootCmd, "interval")
|
||||
|
||||
rootCmd.PersistentFlags().Bool(
|
||||
"metrics",
|
||||
false,
|
||||
"Expose metrics",
|
||||
)
|
||||
rootCmd.PersistentFlags().Bool("metrics", false, "Expose metrics")
|
||||
bind(rootCmd, "metrics")
|
||||
|
||||
rootCmd.PersistentFlags().Bool(
|
||||
"profile",
|
||||
false,
|
||||
"Expose pprof profiles",
|
||||
)
|
||||
rootCmd.PersistentFlags().Bool("profile", false, "Expose pprof profiles")
|
||||
bind(rootCmd, "profile")
|
||||
|
||||
rootCmd.PersistentFlags().Bool(flagHeaders, false, flagHeadersDescription)
|
||||
}
|
||||
|
||||
// initConfig reads in config file and ENV variables if set
|
||||
|
|
@ -163,6 +150,11 @@ func run(cmd *cobra.Command, args []string) {
|
|||
log.FATAL.Fatal(err)
|
||||
}
|
||||
|
||||
// full http request log
|
||||
if cmd.PersistentFlags().Lookup(flagHeaders).Changed {
|
||||
request.LogHeaders = true
|
||||
}
|
||||
|
||||
// setup loadpoints
|
||||
cp.TrackVisitors() // track duplicate usage
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/evcc-io/evcc/api"
|
||||
"github.com/evcc-io/evcc/server"
|
||||
"github.com/evcc-io/evcc/util"
|
||||
"github.com/evcc-io/evcc/util/request"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
|
@ -17,10 +20,11 @@ var vehicleCmd = &cobra.Command{
|
|||
|
||||
func init() {
|
||||
rootCmd.AddCommand(vehicleCmd)
|
||||
vehicleCmd.PersistentFlags().StringP(flagName, "n", "", "select vehicle by name")
|
||||
vehicleCmd.PersistentFlags().BoolP(flagStart, "a", false, "start charge")
|
||||
vehicleCmd.PersistentFlags().BoolP(flagStop, "o", false, "stop charge")
|
||||
vehicleCmd.PersistentFlags().BoolP(flagWakeup, "w", false, flagWakeup)
|
||||
vehicleCmd.PersistentFlags().StringP(flagName, "n", "", fmt.Sprintf(flagNameDescription, "vehicle"))
|
||||
vehicleCmd.PersistentFlags().BoolP(flagStart, "a", false, flagStartDescription)
|
||||
vehicleCmd.PersistentFlags().BoolP(flagStop, "o", false, flagStopDescription)
|
||||
vehicleCmd.PersistentFlags().BoolP(flagWakeup, "w", false, flagWakeupDescription)
|
||||
vehicleCmd.PersistentFlags().Bool(flagHeaders, false, flagHeadersDescription)
|
||||
}
|
||||
|
||||
func runVehicle(cmd *cobra.Command, args []string) {
|
||||
|
|
@ -38,6 +42,11 @@ func runVehicle(cmd *cobra.Command, args []string) {
|
|||
log.FATAL.Fatal(err)
|
||||
}
|
||||
|
||||
// full http request log
|
||||
if cmd.PersistentFlags().Lookup(flagHeaders).Changed {
|
||||
request.LogHeaders = true
|
||||
}
|
||||
|
||||
// select single charger
|
||||
if name := cmd.PersistentFlags().Lookup(flagName).Value.String(); name != "" {
|
||||
for _, cfg := range conf.Vehicles {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue