Send errlog output to stderr rather than stdout, from J Lewis Muir.

This commit is contained in:
Andrew Johnson
2008-07-10 18:04:10 +00:00
parent db9dc38ed8
commit 9cd14f0cc4
2 changed files with 19 additions and 17 deletions

View File

@@ -79,12 +79,12 @@ int epicsShareAPI errSymBld()
for (i = 0; i < errSymTbl->nsymbols; i++, errArray++) {
modnum = errArray->errNum >> 16;
if (modnum < 501) {
printf("errSymBld: ERROR - Module number in errSymTbl < 501 was Module=%lx Name=%s\n",
fprintf(stderr, "errSymBld: ERROR - Module number in errSymTbl < 501 was Module=%lx Name=%s\n",
errArray->errNum, errArray->name);
continue;
}
if ((errSymbolAdd(errArray->errNum, errArray->name)) <0 ) {
printf("errSymBld: ERROR - errSymbolAdd() failed \n");
fprintf(stderr, "errSymBld: ERROR - errSymbolAdd() failed \n");
continue;
}
}
@@ -296,8 +296,8 @@ void epicsShareAPI errSymTestPrint(long errNum)
modnum = (unsigned short) (errNum >> 16);
errnum = (unsigned short) (errNum & 0xffff);
if (modnum < 501) {
printf("Usage: errSymTestPrint(long errNum) \n");
printf("errSymTestPrint: module number < 501 \n");
fprintf(stderr, "Usage: errSymTestPrint(long errNum) \n");
fprintf(stderr, "errSymTestPrint: module number < 501 \n");
return;
}
errSymLookup(errNum, message, sizeof(message));

View File

@@ -126,9 +126,9 @@ epicsShareFunc int errlogPrintf( const char *pFormat, ...)
errlogInit(0);
if(pvtData.atExit || (isOkToBlock && pvtData.toConsole)) {
va_start(pvar, pFormat);
vfprintf(stdout,pFormat,pvar);
vfprintf(stderr,pFormat,pvar);
va_end (pvar);
fflush(stdout);
fflush(stderr);
}
va_start(pvar, pFormat);
nchar = errlogVprintf(pFormat,pvar);
@@ -217,11 +217,11 @@ epicsShareFunc int errlogSevPrintf(
if(pvtData.sevToLog>severity) return(0);
isOkToBlock = epicsThreadIsOkToBlock();
if(pvtData.atExit || (isOkToBlock && pvtData.toConsole)) {
fprintf(stdout,"sevr=%s ",errlogGetSevEnumString(severity));
fprintf(stderr,"sevr=%s ",errlogGetSevEnumString(severity));
va_start(pvar, pFormat);
vfprintf(stdout,pFormat,pvar);
vfprintf(stderr,pFormat,pvar);
va_end (pvar);
fflush(stdout);
fflush(stderr);
}
va_start(pvar, pFormat);
nchar = errlogSevVprintf(severity,pFormat,pvar);
@@ -315,7 +315,9 @@ epicsShareFunc void epicsShareAPI errlogRemoveListener(
plistenerNode = (listenerNode *)ellNext(&plistenerNode->node);
}
if(!pvtData.atExit) epicsMutexUnlock(pvtData.listenerLock);
if(!plistenerNode) printf("errlogRemoveListener did not find listener\n");
if(!plistenerNode) {
fprintf(stderr, "errlogRemoveListener did not find listener\n");
}
}
epicsShareFunc int epicsShareAPI eltc(int yesno)
@@ -346,13 +348,13 @@ epicsShareFunc void errPrintf(long status, const char *pFileName,
errSymLookup(status,name,sizeof(name));
}
if(pvtData.atExit || (isOkToBlock && pvtData.toConsole)) {
if(pFileName) fprintf(stdout,
if(pFileName) fprintf(stderr,
"filename=\"%s\" line number=%d\n",pFileName, lineno);
if(status>0) fprintf(stdout,"%s ",name);
if(status>0) fprintf(stderr,"%s ",name);
va_start (pvar, pformat);
vfprintf(stdout,pformat,pvar);
vfprintf(stderr,pformat,pvar);
va_end (pvar);
fflush(stdout);
fflush(stderr);
}
if(pvtData.atExit) return;
pnext = msgbufGetFree(isOkToBlock);
@@ -484,8 +486,8 @@ LOCAL void errlogThread(void)
if(pvtData.atExit) break;
epicsMutexMustLock(pvtData.listenerLock);
if(pvtData.toConsole && !noConsoleMessage) {
fprintf(stdout,"%s",pmessage);
fflush(stdout);
fprintf(stderr,"%s",pmessage);
fflush(stderr);
}
plistenerNode = (listenerNode *)ellFirst(&pvtData.listenerList);
while(plistenerNode) {
@@ -595,7 +597,7 @@ LOCAL void msgbufFreeSend()
epicsMutexMustLock(pvtData.msgQueueLock);
pnextSend = (msgNode *)ellFirst(&pvtData.msgQueue);
if(!pnextSend) {
printf("errlog: msgbufFreeSend logic error\n");
fprintf(stderr, "errlog: msgbufFreeSend logic error\n");
epicsThreadSuspendSelf();
}
ellDelete(&pvtData.msgQueue,&pnextSend->node);