Преглед на файлове

Task error log message now contains exc_info again

Ask Solem преди 14 години
родител
ревизия
74aae8ea88
променени са 1 файла, в които са добавени 7 реда и са изтрити 4 реда
  1. 7 4
      celery/worker/job.py

+ 7 - 4
celery/worker/job.py

@@ -63,9 +63,12 @@ def default_encoding():
 
 def safe_str(s, errors="replace"):
     encoding = default_encoding()
-    if isinstance(s, unicode):
-        return s.encode(encoding, errors)
-    return s
+    try:
+        if isinstance(s, unicode):
+            return s.encode(encoding, errors)
+        return unicode(s, encoding, errors)
+    except Exception:
+        return "<Unrepresentable %r>" % (type(s), )
 
 
 class WorkerTaskTrace(TaskTrace):
@@ -513,7 +516,7 @@ class TaskRequest(object):
 
         log_with_extra(self.logger, logging.ERROR,
                        self.error_msg.strip() % context,
-                       #exc_info=exc_info,
+                       exc_info=exc_info,
                        extra={"data": {"hostname": self.hostname,
                                        "id": self.task_id,
                                        "name": self.task_name}})