From a02ad7e4013624ac1346e911bb9bc77852a4e9ad Mon Sep 17 00:00:00 2001 From: Andreas Joseph Krogh Date: Fri, 15 Sep 2017 12:30:13 +0200 Subject: [PATCH 1/2] Log exceptions too when logging errors --- core/util/src/main/scala/net/liftweb/util/Schedule.scala | 4 ++-- .../main/scala/net/liftweb/builtin/snippet/Embed.scala | 9 +++++++-- .../src/main/scala/net/liftweb/http/LiftSession.scala | 6 +++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/core/util/src/main/scala/net/liftweb/util/Schedule.scala b/core/util/src/main/scala/net/liftweb/util/Schedule.scala index 0c7a80e0a0..ef91d9668b 100644 --- a/core/util/src/main/scala/net/liftweb/util/Schedule.scala +++ b/core/util/src/main/scala/net/liftweb/util/Schedule.scala @@ -151,7 +151,7 @@ sealed trait Schedule extends Loggable { try { f.apply() } catch { - case e: Exception => logger.error(e) + case e: Exception => logger.error(e.getMessage, e) } } } @@ -162,7 +162,7 @@ sealed trait Schedule extends Loggable { Schedule.this.restart pool.execute(r) } catch { - case e: Exception => logger.error(e) + case e: Exception => logger.error(e.getMessage, e) } } } diff --git a/web/webkit/src/main/scala/net/liftweb/builtin/snippet/Embed.scala b/web/webkit/src/main/scala/net/liftweb/builtin/snippet/Embed.scala index 9b8ae917fa..c4db9e2471 100644 --- a/web/webkit/src/main/scala/net/liftweb/builtin/snippet/Embed.scala +++ b/web/webkit/src/main/scala/net/liftweb/builtin/snippet/Embed.scala @@ -79,8 +79,13 @@ object Embed extends DispatchSnippet { bindFn(template) } - case Failure(msg, _, _) => - logger.error("'embed' snippet failed with message: "+msg) + case Failure(msg, ex, _) => + ex match { + case Full(e) => + logger.error("'embed' snippet failed with message: "+msg, e) + case _ => + logger.error("'embed' snippet failed with message: "+msg) + } throw new SnippetExecutionException("Embed Snippet failed: "+msg) case _ => diff --git a/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala b/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala index a32355e845..2f9ce5d9a0 100644 --- a/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala +++ b/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala @@ -2106,7 +2106,11 @@ class LiftSession(private[http] val _contextPath: String, val underlyingId: Stri in.!(xlate(p) match { case Full(v) => v case Empty => logger.error("Failed to deserialize JSON message "+p); p - case Failure(msg, _, _) => logger.error("Failed to deserialize JSON message "+p+". Error "+msg); p + case Failure(msg, ex, _) => ex match { + case Full(e) => logger.error("Failed to deserialize JSON message "+p+". Error "+msg, e) + case _ => logger.error("Failed to deserialize JSON message "+p+". Error "+msg) + } + p }) JsCmds.Noop }).cmd) From 7bea36b38b05d7a07e12925157ceb3a8f35c750c Mon Sep 17 00:00:00 2001 From: Andreas Joseph Krogh Date: Fri, 15 Sep 2017 15:42:48 +0200 Subject: [PATCH 2/2] Unify case style as per @farmdawgnation suggestion --- .../scala/net/liftweb/builtin/snippet/Embed.scala | 13 ++++++------- .../main/scala/net/liftweb/http/LiftSession.scala | 7 ++----- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/web/webkit/src/main/scala/net/liftweb/builtin/snippet/Embed.scala b/web/webkit/src/main/scala/net/liftweb/builtin/snippet/Embed.scala index c4db9e2471..11204cdce4 100644 --- a/web/webkit/src/main/scala/net/liftweb/builtin/snippet/Embed.scala +++ b/web/webkit/src/main/scala/net/liftweb/builtin/snippet/Embed.scala @@ -79,13 +79,12 @@ object Embed extends DispatchSnippet { bindFn(template) } - case Failure(msg, ex, _) => - ex match { - case Full(e) => - logger.error("'embed' snippet failed with message: "+msg, e) - case _ => - logger.error("'embed' snippet failed with message: "+msg) - } + case Failure(msg, Full(ex), _) => + logger.error("'embed' snippet failed with message: "+msg, ex) + throw new SnippetExecutionException("Embed Snippet failed: "+msg) + + case Failure(msg, _, _) => + logger.error("'embed' snippet failed with message: "+msg) throw new SnippetExecutionException("Embed Snippet failed: "+msg) case _ => diff --git a/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala b/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala index 2f9ce5d9a0..3b06c918c4 100644 --- a/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala +++ b/web/webkit/src/main/scala/net/liftweb/http/LiftSession.scala @@ -2106,11 +2106,8 @@ class LiftSession(private[http] val _contextPath: String, val underlyingId: Stri in.!(xlate(p) match { case Full(v) => v case Empty => logger.error("Failed to deserialize JSON message "+p); p - case Failure(msg, ex, _) => ex match { - case Full(e) => logger.error("Failed to deserialize JSON message "+p+". Error "+msg, e) - case _ => logger.error("Failed to deserialize JSON message "+p+". Error "+msg) - } - p + case Failure(msg, Full(ex), _) => logger.error("Failed to deserialize JSON message "+p+". Error "+msg, ex); p + case Failure(msg, _, _) => logger.error("Failed to deserialize JSON message "+p+". Error "+msg); p }) JsCmds.Noop }).cmd)