~repos /gromer
git clone https://pyrossh.dev/repos/gromer.git
gromer is a framework and cli to build multipage web apps in golang using htmx and alpinejs.
fix cloud logging again again
http.go
CHANGED
|
@@ -32,13 +32,19 @@ var IsCloundRun bool
|
|
|
32
32
|
func init() {
|
|
33
33
|
IsCloundRun = os.Getenv("K_REVISION") != ""
|
|
34
34
|
info, _ = debug.ReadBuildInfo()
|
|
35
|
-
zerolog.LevelFieldName = "severity"
|
|
36
35
|
zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack
|
|
36
|
+
if IsCloundRun {
|
|
37
|
+
zerolog.LevelFieldName = "severity"
|
|
38
|
+
zerolog.TimestampFieldName = "timestamp"
|
|
39
|
+
zerolog.TimeFieldFormat = time.RFC3339Nano
|
|
40
|
+
} else {
|
|
41
|
+
zerolog.SetGlobalLevel(zerolog.DebugLevel)
|
|
37
|
-
|
|
42
|
+
log.Logger = log.Output(zerolog.ConsoleWriter{
|
|
38
|
-
|
|
43
|
+
Out: os.Stdout,
|
|
39
|
-
|
|
44
|
+
NoColor: IsCloundRun,
|
|
40
|
-
|
|
45
|
+
PartsExclude: []string{zerolog.TimestampFieldName},
|
|
41
|
-
|
|
46
|
+
})
|
|
47
|
+
}
|
|
42
48
|
}
|
|
43
49
|
|
|
44
50
|
var RouteDefs []RouteDefinition
|
|
@@ -280,12 +286,12 @@ var LogMiddleware = mux.MiddlewareFunc(func(next http.Handler) http.Handler {
|
|
|
280
286
|
RespondError(w, 599, fmt.Errorf("panic: %+v\n %s", err, stack))
|
|
281
287
|
}
|
|
282
288
|
}()
|
|
289
|
+
startTime := time.Now()
|
|
283
290
|
logRespWriter := NewLogResponseWriter(w)
|
|
284
291
|
next.ServeHTTP(logRespWriter, r)
|
|
285
292
|
if IsCloundRun {
|
|
286
293
|
return
|
|
287
294
|
}
|
|
288
|
-
startTime := time.Now()
|
|
289
295
|
ip, _, _ := net.SplitHostPort(r.RemoteAddr)
|
|
290
296
|
if len(ip) > 0 && ip[0] == '[' {
|
|
291
297
|
ip = ip[1 : len(ip)-1]
|
|
@@ -295,7 +301,7 @@ var LogMiddleware = mux.MiddlewareFunc(func(next http.Handler) http.Handler {
|
|
|
295
301
|
logger = log.WithLevel(zerolog.ErrorLevel).Err(logRespWriter.err).Stack()
|
|
296
302
|
}
|
|
297
303
|
ua := useragent.Parse(r.UserAgent())
|
|
298
|
-
logger.Msgf("%s %d %.2f KB %
|
|
304
|
+
logger.Msgf("%s %d %.2f KB %s %s %s", r.Method,
|
|
299
305
|
logRespWriter.responseStatusCode,
|
|
300
306
|
float32(logRespWriter.responseContentLength)/1024.0,
|
|
301
307
|
time.Since(startTime).Round(time.Millisecond).String(), ua.Name, r.URL.Path)
|