Print the logs for a container in a pod or specified resource. If the pod has only one container, the container name is optional.
$ kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]
$ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 13m
$ kubectl logs deployment/nginx
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Configuration complete; ready for start up
Print Logs for a Container in a Pod
Print the logs for a Pod running a single Container
kubectl logs echo-c6bc8ccff-nnj52
Crash Looping ContainersIf a container is crash looping and you want to print its logs after it exits, use the
-pflag to look at the logs from containers that have exited. e.g.
kubectl logs -p -c ruby web-1
Print Logs for all Pods for a Workload
Print the logs for all Pods for a Workload
# Print logs from all containers matching label kubectl logs -l app=nginx
Workloads LogsPrint all logs from all containers for a Workload by passing the Workload label selector to the
-lflag. e.g. if your Workload label selector is
-l "app=nginx"to print logs for all the Pods from that Workload.
Follow Logs for a Container
Stream logs from a container.
# Follow logs from container kubectl logs nginx-78f5d695bd-czm8z -f
Printing Logs for a Container that has exited
Print the logs for the previously running container. This is useful for printing containers that have crashed or are crash looping.
# Print logs from exited container kubectl logs nginx-78f5d695bd-czm8z -p
Selecting a Container in a Pod
Print the logs from a specific container within a Pod. This is necessary for Pods running multiple containers.
# Print logs from the nginx container in the nginx-78f5d695bd-czm8z Pod kubectl logs nginx-78f5d695bd-czm8z -c nginx
Printing Logs After a Time
Print the logs that occurred after an absolute time.
# Print logs since a date kubectl logs nginx-78f5d695bd-czm8z --since-time=2018-11-01T15:00:00Z
Printing Logs Since a Time
Print the logs that are newer than a duration.
- 0s: 0 seconds
- 1m: 1 minute
- 2h: 2 hours
# Print logs for the past hour kubectl logs nginx-78f5d695bd-czm8z --since=1h
Include timestamps in the log lines
# Print logs with timestamps kubectl logs -l app=echo --timestamps
2018-11-16T05:26:31.38898405Z hello 2018-11-16T05:27:13.363932497Z hello
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.