void getLogfileName( char **logFile, char *logDir, char *logFileName ) { #ifndef _WIN32 time_t myTime; struct tm *mytm; char *logfilePattern; // JMC - backport 4793 char *logfileIntStr; int logfileInt; int tm_mday = 1; char logfileSuffix[MAX_NAME_LEN]; // JMC - backport 4793 char myLogDir[MAX_NAME_LEN]; /* Put together the full pathname of the logFile */ if ( logDir == NULL ) { snprintf( myLogDir, MAX_NAME_LEN, "%-s", getLogDir() ); } else { snprintf( myLogDir, MAX_NAME_LEN, "%-s", logDir ); } *logFile = ( char * ) malloc( strlen( myLogDir ) + strlen( logFileName ) + 24 ); LogfileLastChkTime = myTime = time( 0 ); mytm = localtime( &myTime ); if ( ( logfileIntStr = getenv( LOGFILE_INT ) ) == NULL || ( logfileInt = atoi( logfileIntStr ) ) < 1 ) { logfileInt = DEF_LOGFILE_INT; } tm_mday = ( mytm->tm_mday / logfileInt ) * logfileInt + 1; if ( tm_mday > mytm->tm_mday ) { tm_mday -= logfileInt; } // =-=-=-=-=-=-=- // JMC - backport 4793 if ( ( logfilePattern = getenv( LOGFILE_PATTERN ) ) == NULL ) { logfilePattern = DEF_LOGFILE_PATTERN; } mytm->tm_mday = tm_mday; strftime( logfileSuffix, MAX_NAME_LEN, logfilePattern, mytm ); sprintf( *logFile, "%-s/%-s.%-s", myLogDir, logFileName, logfileSuffix ); // =-=-=-=-=-=-=- #else /* for Windows */ char tmpstr[1024]; iRODSNtGetLogFilenameWithPath( tmpstr ); *logFile = _strdup( tmpstr ); #endif }
static void rodsNtElog(char *msg) { char log_fname[1024]; int fd; int t; if(ProcessType == CLIENT_PT) { fprintf(stderr,"%s", msg); return; } t = strlen(msg); if(msg[t-1] == '\n') { msg[t-1] = '\0'; t = t -1; } if(iRODSNtServerRunningConsoleMode()) { t = strlen(msg); if(msg[t-1] == '\n') fprintf(stderr,"%s",msg); else fprintf(stderr,"%s\n",msg); return; } t = strlen(msg); if(msg[t-1] != '\n') { msg[t] = '\n'; msg[t+1] = '\0'; t = t +1; } iRODSNtGetLogFilenameWithPath(log_fname); fd = iRODSNt_open(log_fname, O_APPEND|O_WRONLY,1); _write(fd,msg,t); _close(fd); }