OlogProperties(){
		
		preferences = Preferences.userNodeForPackage(OlogClient.class);

		try {
			File userCFPropertiesFile = new File(System.getProperty(
					"olog.properties", ""));
			File userHomeCFPropertiesFile = new File(System
					.getProperty("user.home")
					+ "/olog.properties");
			File systemCFPropertiesFile = null;
			if (System.getProperty("os.name").startsWith("Windows")) {
				systemCFPropertiesFile = new File("/olog.properties");
			} else if (System.getProperty("os.name").startsWith("Linux")) {
				systemCFPropertiesFile = new File(
						"/etc/olog.properties");
			} else {
				systemCFPropertiesFile = new File(
						"/etc/olog.properties");
			}

			defaultProperties = new Properties();
			try {
				defaultProperties.load(this.getClass().getResourceAsStream(
						"/config/olog.properties"));
			} catch (Exception e) {
				// Do nothing simply use an empty Properties object as default.
			}

			// Not using to new Properties(default Properties) constructor to
			// make the hierarchy clear.
			// TODO replace using constructor with default.
			systemCFProperties = new Properties(defaultProperties);
			if (systemCFPropertiesFile.exists()) {
				systemCFProperties.load(new FileInputStream(
						systemCFPropertiesFile));
			}
			userHomeCFProperties = new Properties(systemCFProperties);
			if (userHomeCFPropertiesFile.exists()) {
				userHomeCFProperties.load(new FileInputStream(
						userHomeCFPropertiesFile));
			}
			userCFProperties = new Properties(userHomeCFProperties);
			if (userCFPropertiesFile.exists()) {
				userCFProperties
						.load(new FileInputStream(userCFPropertiesFile));
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}