diff --git a/plexpy/log_reader.py b/plexpy/log_reader.py
index 259e2cc4..bb1d0186 100644
--- a/plexpy/log_reader.py
+++ b/plexpy/log_reader.py
@@ -38,7 +38,7 @@ def get_log_tail(window=20, parsed=True, log_type="server"):
return []
try:
- logfile = open(log_file, "r")
+ logfile = open(log_file, "r", encoding="utf-8")
except IOError as e:
logger.error('Unable to open Plex Log file. %s' % e)
return []
@@ -52,7 +52,7 @@ def get_log_tail(window=20, parsed=True, log_type="server"):
try:
log_time = i.split(' [')[0]
log_level = i.split('] ', 1)[1].split(' - ', 1)[0]
- log_msg = str(i.split('] ', 1)[1].split(' - ', 1)[1], 'utf-8')
+ log_msg = i.split('] ', 1)[1].split(' - ', 1)[1]
full_line = [log_time, log_level, log_msg]
clean_lines.append(full_line)
except:
diff --git a/plexpy/logger.py b/plexpy/logger.py
index 989b2e87..ca87544b 100644
--- a/plexpy/logger.py
+++ b/plexpy/logger.py
@@ -264,7 +264,7 @@ def initLogger(console=False, log_dir=False, verbose=False):
# Main Tautulli logger
filename = os.path.join(log_dir, FILENAME)
- file_handler = handlers.RotatingFileHandler(filename, maxBytes=MAX_SIZE, backupCount=MAX_FILES)
+ file_handler = handlers.RotatingFileHandler(filename, maxBytes=MAX_SIZE, backupCount=MAX_FILES, encoding='utf-8')
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(file_formatter)
@@ -272,7 +272,7 @@ def initLogger(console=False, log_dir=False, verbose=False):
# Tautulli API logger
filename = os.path.join(log_dir, FILENAME_API)
- file_handler = handlers.RotatingFileHandler(filename, maxBytes=MAX_SIZE, backupCount=MAX_FILES)
+ file_handler = handlers.RotatingFileHandler(filename, maxBytes=MAX_SIZE, backupCount=MAX_FILES, encoding='utf-8')
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(file_formatter)
@@ -280,7 +280,7 @@ def initLogger(console=False, log_dir=False, verbose=False):
# Tautulli websocket logger
filename = os.path.join(log_dir, FILENAME_PLEX_WEBSOCKET)
- file_handler = handlers.RotatingFileHandler(filename, maxBytes=MAX_SIZE, backupCount=MAX_FILES)
+ file_handler = handlers.RotatingFileHandler(filename, maxBytes=MAX_SIZE, backupCount=MAX_FILES, encoding='utf-8')
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(file_formatter)
diff --git a/plexpy/webserve.py b/plexpy/webserve.py
index 1f4e3320..5543b16c 100644
--- a/plexpy/webserve.py
+++ b/plexpy/webserve.py
@@ -2370,18 +2370,18 @@ class WebInterface(object):
else:
filename = logger.FILENAME
- with open(os.path.join(plexpy.CONFIG.LOG_DIR, filename)) as f:
+ with open(os.path.join(plexpy.CONFIG.LOG_DIR, filename), 'r', encoding='utf-8') as f:
for l in f.readlines():
try:
temp_loglevel_and_time = l.split(' - ', 1)
loglvl = temp_loglevel_and_time[1].split(' ::', 1)[0].strip()
- msg = helpers.sanitize(str(l.split(' : ', 1)[1].replace('\n', ''), 'utf-8'))
+ msg = helpers.sanitize(l.split(' : ', 1)[1].replace('\n', ''))
fa([temp_loglevel_and_time[0], loglvl, msg])
except IndexError:
# Add traceback message to previous msg.
tl = (len(filt) - 1)
n = len(l) - len(l.lstrip(' '))
- ll = ' ' * (2 * n) + helpers.sanitize(str(l[n:], 'utf-8'))
+ ll = ' ' * (2 * n) + helpers.sanitize(l[n:])
filt[tl][2] += '
' + ll
continue
@@ -2705,7 +2705,7 @@ class WebInterface(object):
filename = logger.FILENAME
try:
- with open(os.path.join(plexpy.CONFIG.LOG_DIR, filename), 'r') as f:
+ with open(os.path.join(plexpy.CONFIG.LOG_DIR, filename), 'r', encoding='utf-8') as f:
return '
%s' % f.read() except IOError as e: return "Log file not found."