diff --git a/src/exception.cc b/src/exception.cc
index 95579cbcf7cb6cf0dd5d116fa3ef7760f864bde6..55b04f8bad38c027dce93feff22ca3c49dca0361 100644
--- a/src/exception.cc
+++ b/src/exception.cc
@@ -70,10 +70,11 @@ SystemError::init(const char *format, va_list ap)
 void
 SystemError::log() const
 {
-	say(S_ERROR, strerror(m_errnum), "%s in %s", "SystemError",
-	    m_errmsg);
+	_say(S_ERROR, m_file, m_line, strerror(m_errnum), "SystemError %s",
+	     m_errmsg);
 }
 
+
 ClientError::ClientError(const char *file, unsigned line, uint32_t errcode, ...)
 	: Exception(file, line)
 {
@@ -98,8 +99,8 @@ ClientError::ClientError(const char *file, unsigned line, const char *msg,
 void
 ClientError::log() const
 {
-	say_error("%s at %s:%d, %s", "ClientError",
-		  m_file, m_line, m_errmsg);
+	_say(S_ERROR, m_file, m_line, NULL, "%s: %s", tnt_errcode_str(m_errcode),
+	     m_errmsg);
 }
 
 IllegalParams::IllegalParams(const char *file, unsigned line, const char *msg)