diff --git a/drm/libmediadrm/DrmUtils.cpp b/drm/libmediadrm/DrmUtils.cpp
index ed3848d..200c386 100644
--- a/drm/libmediadrm/DrmUtils.cpp
+++ b/drm/libmediadrm/DrmUtils.cpp
@@ -304,6 +304,9 @@
 
 std::string GetExceptionMessage(status_t err, const char *msg,
                                 const Vector<::V1_4::LogMessage> &logs) {
+    std::string ruler("==============================");
+    std::string header("Beginning of DRM Plugin Log");
+    std::string footer("End of DRM Plugin Log");
     String8 msg8;
     if (msg) {
         msg8 += msg;
@@ -311,6 +314,7 @@
     }
     auto errStr = StrCryptoError(err);
     msg8 += errStr.c_str();
+    msg8 += String8::format("\n%s %s %s", ruler.c_str(), header.c_str(), ruler.c_str());
 
     for (auto log : logs) {
         time_t seconds = log.timeMs / 1000;
@@ -322,9 +326,10 @@
         }
 
         char p = logPriorityToChar(log.priority);
-        msg8 += String8::format("\n%s.%03d %c %s", timeStr.c_str(), ms, p, log.message.c_str());
+        msg8 += String8::format("\n  %s.%03d %c %s", timeStr.c_str(), ms, p, log.message.c_str());
     }
 
+    msg8 += String8::format("\n%s %s %s", ruler.c_str(), footer.c_str(), ruler.c_str());
     return msg8.c_str();
 }
 
