mirror of
https://github.com/containers/podman.git
synced 2025-08-06 19:44:14 +08:00
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:
@ -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
|
||||||
|
@ -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",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user