示例#1
0
文件: rsLog.cpp 项目: bpow/irods
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
}
示例#2
0
文件: rodsLog.c 项目: brandt/irods
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);
}