Skip to content

Commit

Permalink
feat: Add json "ensure_ascii" setting in ContainerEngineHandler
Browse files Browse the repository at this point in the history
To allow unicodes to show in log instead of ascii character (for example, show chinese word '哈' in log instead of '\u8bed')
  • Loading branch information
ysde committed Feb 23, 2021
1 parent c34a621 commit ae0fca5
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
4 changes: 2 additions & 2 deletions google/cloud/logging_v2/handlers/_helpers.py
Expand Up @@ -33,7 +33,7 @@
_PROTOCOL_HEADER = "SERVER_PROTOCOL"


def format_stackdriver_json(record, message):
def format_stackdriver_json(record, message, json_ensure_ascii):
"""Helper to format a LogRecord in in Stackdriver fluentd format.
Returns:
Expand All @@ -48,7 +48,7 @@ def format_stackdriver_json(record, message):
"severity": record.levelname,
}

return json.dumps(payload)
return json.dumps(payload, ensure_ascii=json_ensure_ascii)


def get_request_data_from_flask():
Expand Down
5 changes: 3 additions & 2 deletions google/cloud/logging_v2/handlers/container_engine.py
Expand Up @@ -31,7 +31,7 @@ class ContainerEngineHandler(logging.StreamHandler):
(GKE) fluentd plugin, so that metadata such as log level are properly set.
"""

def __init__(self, *, name=None, stream=None):
def __init__(self, *, name=None, stream=None, json_ensure_ascii=True):
"""
Args:
name (Optional[str]): The name of the custom log in Cloud Logging.
Expand All @@ -40,6 +40,7 @@ def __init__(self, *, name=None, stream=None):
"""
super(ContainerEngineHandler, self).__init__(stream=stream)
self.name = name
self.json_ensure_ascii = json_ensure_ascii

def format(self, record):
"""Format the message into JSON expected by fluentd.
Expand All @@ -51,4 +52,4 @@ def format(self, record):
str: A JSON string formatted for GKE fluentd.
"""
message = super(ContainerEngineHandler, self).format(record)
return format_stackdriver_json(record, message)
return format_stackdriver_json(record, message, self.json_ensure_ascii)

0 comments on commit ae0fca5

Please sign in to comment.