logs

Getting logs for Kubernetes resources

Print the logs for a container in a pod or specified resource. If the pod has only one container, the container name is optional.

Command

$ kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER] 

Example

Current State

$ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 13m 

Command

$ kubectl logs deployment/nginx 

Output

/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 the logs for a Pod running a single Container

kubectl logs echo-c6bc8ccff-nnj52 
hello hello 

Print the logs for all Pods for a Workload

# Print logs from all containers matching label kubectl logs -l app=nginx 

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.

Examples:

  • 0s: 0 seconds
  • 1m: 1 minute
  • 2h: 2 hours
# Print logs for the past hour kubectl logs nginx-78f5d695bd-czm8z --since=1h 

Include Timestamps

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 


Last modified September 23, 2020: docs update (b46eb86)