awslogs icon indicating copy to clipboard operation
awslogs copied to clipboard

UnicodeEncodeError: 'ascii' codec can't encode character

Open wezlu opened this issue 8 years ago • 2 comments

Version: 0.7.0 Python: 2.7.12 (default, Sep 1 2016, 22:14:00) [GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] boto3 version: 1.4.1 Platform: Linux-4.4.30-32.54.amzn1.x86_64-x86_64-with-glibc2.2.5 Config: {'output_timestamp_enabled': True, 'output_group_enabled': True, 'end': None, 'log_group_name': 'production_ironman_eb_/var/log/rails.log', 'log_stream_name': 'ALL', 'aws_region': None, 'watch': True, 'aws_access_key_id': 'SENSITIVE', 'start': '5m', 'aws_profile': 'SENSITIVE', 'filter_pattern': None, 'aws_secret_access_key': 'SENSITIVE', 'output_ingestion_time_enabled': True, 'query': None, 'func': 'list_logs', 'aws_session_token': 'SENSITIVE', 'color_enabled': True, 'output_stream_enabled': True} Args: ['/usr/local/bin/awslogs', 'get', 'production_ironman_eb_/var/log/rails.log', '--watch', '--timestamp', '--ingestion-time']

Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/awslogs/bin.py", line 166, in main getattr(logs, options.func)() File "/usr/local/lib/python2.7/site-packages/awslogs/core.py", line 187, in list_logs consumer() File "/usr/local/lib/python2.7/site-packages/awslogs/core.py", line 184, in consumer print(' '.join(output)) File "/usr/lib64/python2.7/codecs.py", line 369, in write data, consumed = self.encode(object, self.errors) UnicodeEncodeError: 'ascii' codec can't encode characters in position 558-559: ordinal not in range(128)

wezlu avatar Nov 21 '16 12:11 wezlu

I ran into this same thing. Rails form helpers adds a "utf8=UNICODE_CHECKMARK" parameter to form posts.

I was able to hack around this by doing:

print(' '.join(output).encode('ascii', 'replace))

but that is probably wrong.

mattgleeson avatar Dec 28 '16 20:12 mattgleeson

I also get similar error like as below:

Version:       0.14.0
Python:        2.7.5 (default, Apr  2 2020, 13:16:51)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
boto3 version: 1.17.92
Platform:      Linux-5.10.25-linuxkit-x86_64-with-centos-7.8.2003-Core
Args:          ['/usr/bin/awslogs', 'get', '-G', '/ecs/task-web', 'rails/*', '--start=14/7/2021 18:00']
Config: {'output_timestamp_enabled': False, 'watch_interval': 1, 'end': None, 'log_group_name': '/ecs/task-web', 'log_stream_name': 'rails/*', 'aws_endpoint_url': None, 'color': 'auto', 'watch': False, 'output_ingestion_time_enabled': False, 'aws_region': None, 'aws_session_token': 'SENSITIVE', 'start': '14/7/2021 18:00', 'aws_profile': 'SENSITIVE', 'filter_pattern': None, 'aws_secret_access_key': 'SENSITIVE', 'output_group_enabled': False, 'query': None, 'func': 'list_logs', 'aws_access_key_id': 'SENSITIVE', 'output_stream_enabled': True}

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/awslogs/bin.py", line 179, in main
    getattr(logs, options.func)()
  File "/usr/lib/python2.7/site-packages/awslogs/core.py", line 229, in list_logs
    consumer()
  File "/usr/lib/python2.7/site-packages/awslogs/core.py", line 218, in consumer
    print(' '.join(output))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 332-343: ordinal not in range(128)

rengotaku avatar Jul 15 '21 03:07 rengotaku

Fixed as part of https://github.com/jorgebastida/awslogs/pull/396

jorgebastida avatar Apr 02 '24 08:04 jorgebastida