Skip to content
Snippets Groups Projects
Verified Commit 58e8dad8 authored by Antoine R. Dumont's avatar Antoine R. Dumont
Browse files

Make lister output their log as json records by default

This requires rebuild of lister image to a more recent version with the pythonjsonlogger
dependency.

Refs. swh/infra/sysadm-environment#4886
parent ac51f713
No related branches found
No related tags found
No related merge requests found
...@@ -30,6 +30,9 @@ data: ...@@ -30,6 +30,9 @@ data:
{{ range $lister_type, $deployment_config := .Values.listers.deployments }} {{ range $lister_type, $deployment_config := .Values.listers.deployments }}
{{ $lister_name := ( print "lister-" $lister_type ) }} {{ $lister_name := ( print "lister-" $lister_type ) }}
# Set useJsonLogger to false to let the logs be plain text
{{- $use_json_logger := get $deployment_config "useJsonLogger" | default true }}
{{ $log_level := get $deployment_config "logLevel" | default "INFO" | quote }}
--- ---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
...@@ -91,5 +94,40 @@ data: ...@@ -91,5 +94,40 @@ data:
fi fi
exit 0 exit 0
{{ if $use_json_logger -}}
logging-configuration.yml: |
version: 1
handlers:
console:
class: logging.StreamHandler
formatter: json
stream: ext://sys.stdout
formatters:
json:
class: pythonjsonlogger.jsonlogger.JsonFormatter
# python-json-logger parses the format argument to get the variables it actually expands into the json
format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"
loggers:
celery:
level: {{ $log_level }}
amqp:
level: WARNING
urllib3:
level: WARNING
azure.core.pipeline.policies.http_logging_policy:
level: WARNING
swh:
level: {{ $log_level }}
celery.task:
level: {{ $log_level }}
root:
level: {{ $log_level }}
handlers:
- console
{{ end }}
{{ end }} {{ end }}
{{- end -}} {{- end -}}
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
{{- $configurationChecksum := include (print $.Template.BasePath "/listers/configmap.yaml") . -}} {{- $configurationChecksum := include (print $.Template.BasePath "/listers/configmap.yaml") . -}}
{{- range $lister_type, $deployment_config := .Values.listers.deployments -}} {{- range $lister_type, $deployment_config := .Values.listers.deployments -}}
{{- $lister_name := ( print "lister-" $lister_type ) -}} {{- $lister_name := ( print "lister-" $lister_type ) -}}
# Set useJsonLogger to false to let the logs be plain text
{{- $use_json_logger := get $deployment_config "useJsonLogger" | default true }}
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
...@@ -95,6 +97,10 @@ spec: ...@@ -95,6 +97,10 @@ spec:
value: {{ get $deployment_config "logLevel" | default "INFO" | quote }} value: {{ get $deployment_config "logLevel" | default "INFO" | quote }}
- name: SWH_CONFIG_FILENAME - name: SWH_CONFIG_FILENAME
value: /etc/swh/config.yml value: /etc/swh/config.yml
{{ if $use_json_logger -}}
- name: SWH_LOG_CONFIG
value: /etc/swh/logging-configuration.yml
{{ end }}
- name: SWH_SENTRY_ENVIRONMENT - name: SWH_SENTRY_ENVIRONMENT
value: {{ $.Values.sentry.environment }} value: {{ $.Values.sentry.environment }}
volumeMounts: volumeMounts:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment