Make podman service log events

* Log endpoint calls at level Info
* Ensure API server started at level Info

Fixes #8390

Signed-off-by: Jhon Honce <jhonce@redhat.com>
This commit is contained in:
Jhon Honce
2020-11-18 16:06:02 -07:00
parent a18365c908
commit d8795a36b2
6 changed files with 15 additions and 11 deletions

View File

@ -8,4 +8,5 @@ StartLimitIntervalSec=0
[Service] [Service]
Type=notify Type=notify
KillMode=process KillMode=process
ExecStart=/usr/bin/podman system service Environment=LOGGING="--log-level=info"
ExecStart=/usr/bin/podman $LOGGING system service

View File

@ -28,11 +28,11 @@ author = "team"
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones. # ones.
extensions = [ extensions = [
'sphinx_markdown_tables', "sphinx_markdown_tables",
] ]
source_parsers = { source_parsers = {
'.md': 'recommonmark.parser.CommonMarkParser', ".md": "recommonmark.parser.CommonMarkParser",
} }

View File

@ -17,12 +17,14 @@ The REST API provided by **podman system service** is split into two parts: a co
Documentation for the latter is available at *https://docs.podman.io/en/latest/_static/api.html*. Documentation for the latter is available at *https://docs.podman.io/en/latest/_static/api.html*.
Both APIs are versioned, but the server will not reject requests with an unsupported version set. Both APIs are versioned, but the server will not reject requests with an unsupported version set.
Note: The default systemd unit files (system and user) change the log-level option to *info* from *error*. This change provides additional information on each API call.
## OPTIONS ## OPTIONS
#### **--time**, **-t** #### **--time**, **-t**
The time until the session expires in _seconds_. The default is 5 The time until the session expires in _seconds_. The default is 5
seconds. A value of `0` means no timeout and the session will not expire. seconds. A value of `0` means no timeout, therefore the session will not expire.
#### **--help**, **-h** #### **--help**, **-h**
@ -40,3 +42,4 @@ podman(1), podman-system-service(1), podman-system-connection(1)
## HISTORY ## HISTORY
January 2020, Originally compiled by Brent Baude<bbaude@redhat.com> January 2020, Originally compiled by Brent Baude<bbaude@redhat.com>
November 2020, Updated by Jhon Honce <jhonce at redhat.com>

View File

@ -30,14 +30,14 @@ func (s *APIServer) APIHandler(h http.HandlerFunc) http.HandlerFunc {
// Wrapper to hide some boiler plate // Wrapper to hide some boiler plate
fn := func(w http.ResponseWriter, r *http.Request) { fn := func(w http.ResponseWriter, r *http.Request) {
rid := uuid.New().String() rid := uuid.New().String()
logrus.Infof("APIHandler(%s) -- %s %s BEGIN", rid, r.Method, r.URL.String())
if logrus.IsLevelEnabled(logrus.DebugLevel) { if logrus.IsLevelEnabled(logrus.DebugLevel) {
logrus.Debugf("APIHandler(%s) -- Method: %s URL: %s", rid, r.Method, r.URL.String())
for k, v := range r.Header { for k, v := range r.Header {
switch auth.HeaderAuthName(k) { switch auth.HeaderAuthName(k) {
case auth.XRegistryConfigHeader, auth.XRegistryAuthHeader: case auth.XRegistryConfigHeader, auth.XRegistryAuthHeader:
logrus.Debugf("APIHandler(%s) -- Header: %s: <hidden>", rid, k) logrus.Debugf("APIHandler(%s) -- Header: %s=<hidden>", rid, k)
default: default:
logrus.Debugf("APIHandler(%s) -- Header: %s: %v", rid, k, v) logrus.Debugf("APIHandler(%s) -- Header: %s=%v", rid, k, v)
} }
} }
} }
@ -63,6 +63,7 @@ func (s *APIServer) APIHandler(h http.HandlerFunc) http.HandlerFunc {
w.Header().Set("Server", "Libpod/"+lv+" ("+runtime.GOOS+")") w.Header().Set("Server", "Libpod/"+lv+" ("+runtime.GOOS+")")
h(w, r) h(w, r)
logrus.Debugf("APIHandler(%s) -- %s %s END", rid, r.Method, r.URL.String())
} }
fn(w, r) fn(w, r)
} }

View File

@ -27,5 +27,6 @@ func ListenUnix(network string, path string) (net.Listener, error) {
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "net.Listen(%s, %s) failed to report the failure to create socket", network, path) return nil, errors.Wrapf(err, "net.Listen(%s, %s) failed to report the failure to create socket", network, path)
} }
return listener, nil return listener, nil
} }

View File

@ -51,10 +51,7 @@ func NewServer(runtime *libpod.Runtime) (*APIServer, error) {
} }
// NewServerWithSettings will create and configure a new API server using provided settings // NewServerWithSettings will create and configure a new API server using provided settings
func NewServerWithSettings(runtime *libpod.Runtime, duration time.Duration, listener *net.Listener) ( func NewServerWithSettings(runtime *libpod.Runtime, duration time.Duration, listener *net.Listener) (*APIServer, error) {
*APIServer,
error,
) {
return newServer(runtime, duration, listener) return newServer(runtime, duration, listener)
} }
@ -75,6 +72,7 @@ func newServer(runtime *libpod.Runtime, duration time.Duration, listener *net.Li
listener = &listeners[0] listener = &listeners[0]
} }
logrus.Infof("API server listening on %q", (*listener).Addr())
router := mux.NewRouter().UseEncodedPath() router := mux.NewRouter().UseEncodedPath()
idle := idle.NewTracker(duration) idle := idle.NewTracker(duration)