Ejemplo n.º 1
0
void log_file_removeAllLogFiles() {

    while (!log_file_getLogFiles().empty()) {
        const logFiles_t::const_iterator lfi = log_file_getLogFiles().begin();
        log_file_removeLogFile(lfi->first.c_str());
    }
}
Ejemplo n.º 2
0
void log_file_removeLogFile(const char* filePath) {
	assert(filePath != NULL);

	logFiles_t& logFiles = log_file_getLogFiles();
	const std::string filePathStr = filePath;
	const logFiles_t::iterator lfi = logFiles.find(filePathStr);
	if (lfi == logFiles.end()) {
		// we are not logging to this file
		return;
	}

	// turn off logging to this file
	FILE* tmpStream = lfi->second.GetOutStream();
	logFiles.erase(lfi);
	fclose(tmpStream);
	tmpStream = NULL;
}
Ejemplo n.º 3
0
void log_file_addLogFile(const char* filePath, const char* sections, int minLevel) {

	assert(filePath != NULL);

	logFiles_t& logFiles = log_file_getLogFiles();
	const std::string filePathStr = filePath;
	const logFiles_t::const_iterator lfi = logFiles.find(filePathStr);
	if (lfi != logFiles.end()) {
		// we are already logging to this file
		return;
	}

	FILE* tmpStream = fopen(filePath, "w");
	if (tmpStream == NULL) {
		LOG_L(L_ERROR, "Failed to open log file for writing: %s", filePath);
		return;
	}

	const std::string sectionsStr = (sections == NULL) ? "" : sections;
	logFiles[filePathStr] = LogFileDetails(tmpStream, sectionsStr, minLevel);
}