i can not see the sysout log on a kubernetes pod

3/8/2019

I use logback to save the log to a file.

However, if i log on to the pod and see the log file, the log with logback is written well, but i can not find the log with sysout.

kubectl exec -it pod-name bash

Also, if i check the kubernetes pod log, i can not see the log written in logback, but i can check only the log written in sysout.

kubectl logs -f pod-name

In addition, when use logback and sysout together at function, can not be found any log using logback.

Do you know how to fix it?

-- 김태우
kubernetes

1 Answer

3/22/2019

kubectl logs -f <pod_name> will show only actions which are affecting POD, not what is actually happening inside the container (any calculations, entered data to the file).

Without function is hard to say what is going to happen, however keeping logs inside the POD is not the best idea. If something happen to the POD, it will crashed or any error occurs, Kubernetes will restart it and all data will be lost.

The proper way is to have your application log to stdout and then use an external tool to capture that and write to a file. Fluentd is frequently used for that purpose, with aggregation i.e. ElasticSearch.

I would suggest you to look at K8s logging architecture and Elasticsearch

-- PjoterS
Source: StackOverflow