Control Gorouter log level using debugserver reconfigurable sink#495
Conversation
src/code.cloudfoundry.org/vendor/code.cloudfoundry.org/debugserver/server.go
Outdated
Show resolved
Hide resolved
|
Following log entries are seen in the /var/vcap/sys/log/gorouter/gorouter.stdout.log for various inputs on the Router VM. $ curl http://127.0.0.1:17002/log-level -d info time=2025-06-20T07:46:21.091Z level=INFO msg="Gorouter logger -> zapcore log level updated." new-level=info $ curl http://127.0.0.1:17002/log-level -d debug time=2025-06-20T07:46:21.091Z level=INFO msg="Gorouter logger -> zapcore log level updated." new-level=debug $ curl -X GET http://127.0.0.1:17002/log-level -d info $ curl -X PUT http://127.0.0.1:17002/log-level -d info $ curl -X POST https://127.0.0.1:17002/log-level -d info $ curl -X POST http://127.0.0.1:17002/log-level -d {} $ curl -X POST http://127.0.0.1:17002/log-level |
src/code.cloudfoundry.org/vendor/code.cloudfoundry.org/debugserver/server.go
Outdated
Show resolved
Hide resolved
|
Hello @navinms711 , |
|
One more thought: Instead of adding all that code to |
ceef6d7 to
d66a05d
Compare
I looked into this. To change the debugserver support |
I have moved most changes from main.go to adapter.go in the same All tests have passed. Ran 189 of 189 Specs in 2100.664 seconds |
src/code.cloudfoundry.org/gorouter/integration/test_utils_test.go
Outdated
Show resolved
Hide resolved
bb0cbd0 to
07a996b
Compare
g modified: src/code.cloudfoundry.org/gorouter/test_util/helpers.go
07a996b to
08feac8
Compare
377f8e7 to
98d111a
Compare
41b2d4c to
1813b8b
Compare
Summary
[1] Briefly explain why this PR is necessary
Gorouter uses slog with zap handler as backend for current logging levels. The Gorouter runs a debugserver (a http server) which listens to a few API endpoints. The
/log-level -d <debug/info/error/fatal>was introduced to make changes to the log level on demand at runtime. However, a POST request to thelog-levelendpoint has no effect in the current code. This PR proposes changes needed to make log level change work through a POST request.[2] Provide details of where this request is coming from including links, GitHub Issues, etc..
This is a request from Broadcom Engineering team to fix it and recorded in TNZ-23119.
[3] Provide details of prior work (if applicable) including links to commits, github issues, etc...
cloudfoundry/gorouter#452
[4] Backward Compatibility
Breaking Change? NO
[5] If this is a breaking change, or modifies currently expected behaviors of core functionality.
[6] Are there any other dependent PRs?
Yes, this PR needs the latest changes to debugserver code in cloudfoundry/debugserver#73