Exemplo n.º 1
0
static int logClose (LOGGER *p_logger) {

	int	retval	= SUCCESS;

	if (p_logger == NULL) {
		fprintf (stderr, "ERROR: %s - NULL logger provided\n", __FUNCTION__);
		return ERROR;
	}

	if (!(p_logger->optionMask & NODE_IN_USE)) {
		fprintf (stderr, "ERROR: %s - Logger not in use\n", __FUNCTION__);
		return ERROR;
	}

	switch (p_logger->facility) {
		case F_FILE:
			retval = logCloseFile (p_logger);
			break;

		case F_DB:
			retval = logCloseDB (p_logger);
			break;

		case F_SOCKET:
			retval = logCloseSocket (p_logger);
			break;

		case F_PIPE:
			retval = logClosePipe (p_logger);
			break;

		case F_CONSOLE:
			retval = logCloseConsole (p_logger);
			break;

		case F_PRINTER:
			retval = logClosePrinter (p_logger);
			break;

		default:	/* Shouldn't ever get here... */
			break;
	}

	return retval;
}
Exemplo n.º 2
0
// Write to the log file
void writeLogFile(const char * szLog){
	DWORD dwPos = 0;
	DWORD dwBytesWritten = 0;
	SYSTEMTIME lt; // WJF 7/11/16 Win-20 localTime -> lt
	CHAR szOutput[128]; // WJF 7/11/16 Win-20 1024 -> 128
	DWORD logLength = 0; // WJF 6/30/16 Win-21 size_t -> DWORD
	LPSTR dateString = NULL; // WJF 7/11/16 Win-20
	CHAR dateComp[16]; // WJF 7/11/16 Win-20

	if (bLogIsOpen) { // WJF 7/8/16 Win-20 Don't bother doing this if the log isn't open
		GetLocalTime(&lt);

		sprintf_s(dateComp, 16, "%04u%02u%02u", lt.wYear, lt.wMonth, lt.wDay);

		// WJF 7/11/16 Win-20 If the current date doesn't match the date of the open log file, close it and make a new one
		if (strcmp(dateComp, dateOpened) != 0) {
			logCloseFile();
			logOpenFile();
		}

		if (bLogIsOpen) { // WJF 7/11/16 Win-20 This might change if the day rolled over
			// MM/DD/YYYY H:M:S:MS - 
			// WJF 7/11/16 Win-20 Rewrote to be simpler
			sprintf_s(szOutput, 128, "%02u/%02u/%04u %02u:%02u:%02u:%03u - ", lt.wMonth, lt.wDay, lt.wYear, lt.wHour, lt.wMinute, lt.wSecond, lt.wMilliseconds);
			strcat_s(szOutput, 128, szLog);

			logLength = (DWORD)strlen(szOutput); // WJF 6/30/16 Win-21 Cast to DWORD

			//if ((hLogFile != INVALID_HANDLE_VALUE) && (bLogIsOpen)) { // WJF 7/8/16 Win-20 Removed unneccessary check
			dwPos = SetFilePointer(hLogFile, 0, NULL, FILE_END);
			LockFile(hLogFile, dwPos, 0, logLength, 0);
			WriteFile(hLogFile, szOutput, logLength, &dwBytesWritten, NULL);
			UnlockFile(hLogFile, dwPos, 0, logLength, 0);
			// }

		}
	}
}
Exemplo n.º 3
0
//  FUNCTION:   sys_LoggingStop(PA_PluginParameters params)
//
//  PURPOSE:	Stop logging Win32API commands
//
//  COMMENTS:
//
//	DATE:		WJF 7/11/16 Win-20
void sys_LoggingStop(PA_PluginParameters params){
	PA_ReturnLong(params, logCloseFile()); // WJF 7/11/16 Win-20 Return long and moved to common method
}