diff --git a/src/seq/seq_ca.c b/src/seq/seq_ca.c
index 53dac9f3f05d117f07d52a1673db1f78903757e3..3986b65025180e73a47a5ec32c1a8abd7baa4278 100644
--- a/src/seq/seq_ca.c
+++ b/src/seq/seq_ca.c
@@ -86,8 +86,8 @@ pvStat seq_connect(SPROG *sp, boolean wait)
 				&dbch->pvid);		/* ptr to PV id */
 		if (status != pvStatOK)
 		{
-			errlogSevPrintf(errlogFatal, "seq_connect: pvVarCreate() %s failure: "
-				"%s\n", dbch->dbName, pvVarGetMess(dbch->pvid));
+			errlogSevPrintf(errlogFatal, "seq_connect: var %s, pv %s: pvVarCreate() failure: "
+				"%s\n", ch->varName, dbch->dbName, pvVarGetMess(dbch->pvid));
 			if (ch->dbch->ssMetaData)
 				free(ch->dbch->ssMetaData);
 			free(ch->dbch->dbName);
@@ -312,7 +312,7 @@ static void proc_db_events_queued(SPROG *sp, CHAN *ch, pvValue *value)
 	if (full)
 	{
 		errlogSevPrintf(errlogMinor,
-		  "monitor event for variable %s (pv %s): "
+		  "monitor event for variable '%s' (pv '%s'): "
 		  "last queue element overwritten (queue is full)\n",
 		  ch->varName, ch->dbch->dbName
 		);
@@ -345,8 +345,8 @@ void seq_disconnect(SPROG *sp)
 		status = pvVarDestroy(dbch->pvid);
 		dbch->pvid = NULL;
 		if (status != pvStatOK)
-			errlogSevPrintf(errlogFatal, "seq_disconnect: pvVarDestroy() %s failure: "
-				"%s\n", dbch->dbName, pvVarGetMess(dbch->pvid));
+			errlogSevPrintf(errlogFatal, "seq_disconnect: var %s, pv %s: pvVarDestroy() failure: "
+				"%s\n", ch->varName, dbch->dbName, pvVarGetMess(dbch->pvid));
 
 		/* Clear monitor & connect indicators */
 		dbch->connected = FALSE;
@@ -379,8 +379,8 @@ pvStat seq_camonitor(CHAN *ch, boolean on)
 	else
 		status = pvVarMonitorOff(dbch->pvid, dbch->monid);
 	if (status != pvStatOK)
-		errlogSevPrintf(errlogFatal, "seq_camonitor: pvVarMonitor%s(%s) failure: %s\n",
-			on?"On":"Off", dbch->dbName, pvVarGetMess(dbch->pvid));
+		errlogSevPrintf(errlogFatal, "seq_camonitor: pvVarMonitor%s(var %s, pv %s) failure: %s\n",
+			on?"On":"Off", ch->varName, dbch->dbName, pvVarGetMess(dbch->pvid));
 	else if (!on)
 		dbch->monid = NULL;
 	return status;
@@ -431,7 +431,8 @@ void seq_conn_handler(void *var, int connected)
 		else
 		{
 			errlogSevPrintf(errlogMinor,
-				"%s disconnect event but already disconnected %s\n",
+				"seq_conn_handler: var '%s', pv '%s': "
+				"disconnect event but already disconnected\n",
 				ch->varName, dbch->dbName);
 		}
 	}
@@ -460,7 +461,8 @@ void seq_conn_handler(void *var, int connected)
 		else
 		{
 			errlogSevPrintf(errlogMinor,
-				"%s connect event but already connected %s\n",
+				"seq_conn_handler: var '%s', pv '%s': "
+				"connect event but already connected\n",
 				ch->varName, dbch->dbName);
 		}
 	}
diff --git a/src/seq/seq_if.c b/src/seq/seq_if.c
index 9c52ab99e0dbabf64827d01a70f6c898fc0adeb3..fffd645de8ce24a5388cb7bf505859e6df17f461 100644
--- a/src/seq/seq_if.c
+++ b/src/seq/seq_if.c
@@ -153,8 +153,8 @@ epicsShareFunc pvStat epicsShareAPI seq_pvGet(SS_ID ss, VAR_ID varId, enum compT
 		meta->status = pvStatERROR;
 		meta->severity = pvSevrMAJOR;
 		meta->message = "get failure";
-		errlogSevPrintf(errlogFatal, "pvGet: pvVarGetCallback() %s failure: %s\n",
-			dbch->dbName, pvVarGetMess(dbch->pvid));
+		errlogSevPrintf(errlogFatal, "pvGet(var %s, pv %s): pvVarGetCallback() failure: %s\n",
+			ch->varName, dbch->dbName, pvVarGetMess(dbch->pvid));
 		freeListFree(sp->pvReqPool, req);
 		epicsEventSignal(getSem);
 		check_connected(dbch, meta);
@@ -283,7 +283,7 @@ static void anonymous_put(SS_ID ss, CHAN *ch)
 		if (full)
 		{
 			errlogSevPrintf(errlogMinor,
-			  "pvPut on queued variable %s (anonymous): "
+			  "pvPut on queued variable '%s' (anonymous): "
 			  "last queue element overwritten (queue is full)\n",
 			  ch->varName
 			);
@@ -406,8 +406,8 @@ epicsShareFunc pvStat epicsShareAPI seq_pvPut(SS_ID ss, VAR_ID varId, enum compT
 				(pvValue *)var);	/* data value */
 		if (status != pvStatOK)
 		{
-			errlogSevPrintf(errlogFatal, "pvPut: pvVarPutNoBlock() %s failure: %s\n",
-				dbch->dbName, pvVarGetMess(dbch->pvid));
+			errlogSevPrintf(errlogFatal, "pvPut(var %s, pv %s): pvVarPutNoBlock() failure: %s\n",
+				ch->varName, dbch->dbName, pvVarGetMess(dbch->pvid));
 			return status;
 		}
 	}
@@ -427,8 +427,8 @@ epicsShareFunc pvStat epicsShareAPI seq_pvPut(SS_ID ss, VAR_ID varId, enum compT
 				req);			/* user arg */
 		if (status != pvStatOK)
 		{
-			errlogSevPrintf(errlogFatal, "pvPut: pvVarPutCallback() %s failure: %s\n",
-				dbch->dbName, pvVarGetMess(dbch->pvid));
+			errlogSevPrintf(errlogFatal, "pvPut(var %s, pv %s): pvVarPutCallback() failure: %s\n",
+				ch->varName, dbch->dbName, pvVarGetMess(dbch->pvid));
 			freeListFree(sp->pvReqPool, req);
 			epicsEventSignal(putSem);
 			check_connected(dbch, meta);
@@ -495,8 +495,8 @@ epicsShareFunc boolean epicsShareAPI seq_pvPutComplete(
 			done = TRUE;
 			break;
 		case epicsEventWaitError:
-			errlogSevPrintf(errlogFatal, "pvPutComplete: "
-			  "epicsEventTryWait(putSemId[%d]) failure\n", varId);
+			errlogSevPrintf(errlogFatal, "pvPutComplete(%s): "
+			  "epicsEventTryWait(putSem[%d]) failure\n", ch->varName, varId);
 		case epicsEventWaitTimeout:
 			break;
 		}
@@ -559,8 +559,8 @@ epicsShareFunc pvStat epicsShareAPI seq_pvAssign(SS_ID ss, VAR_ID varId, const c
 
 		if (status != pvStatOK)
 		{
-			errlogSevPrintf(errlogFatal, "pvAssign: pvVarDestroy() %s failure: "
-				"%s\n", dbch->dbName, pvVarGetMess(dbch->pvid));
+			errlogSevPrintf(errlogFatal, "pvAssign(var %s, pv %s): pvVarDestroy() failure: "
+				"%s\n", ch->varName, dbch->dbName, pvVarGetMess(dbch->pvid));
 		}
 		free(dbch->dbName);
 	}
@@ -612,8 +612,8 @@ epicsShareFunc pvStat epicsShareAPI seq_pvAssign(SS_ID ss, VAR_ID varId, const c
 			&dbch->pvid);		/* ptr to pvid */
 		if (status != pvStatOK)
 		{
-			errlogSevPrintf(errlogFatal, "pvAssign: pvVarCreate() %s failure: "
-				"%s\n", dbch->dbName, pvVarGetMess(dbch->pvid));
+			errlogSevPrintf(errlogFatal, "pvAssign(var %s, pv %s): pvVarCreate() failure: "
+				"%s\n", ch->varName, dbch->dbName, pvVarGetMess(dbch->pvid));
 			if (ch->dbch->ssMetaData)
 				free(ch->dbch->ssMetaData);
 			free(ch->dbch->dbName);