Java Logging Config File

Hallo,

undzwar habe ich folgendes Problem. Ich lasse meine Einstellung fürs Logging in der logging.properties zu Beginn des Programms laden. Wenn ich die properties-Datei verändere, werden die Änderungen jedoch nicht beim nächsten Programmstart richtig geladen, sondern erst wenn ich das Projekt manuell refreshe. Muss man das immer machen, oder kann man das umgehen (ich wette das liegt i-wie am InputStream)?

Hier der Code Teil, der die properties lädt:

		Test test = new Test();
		
		try {
			test.initializeLogging();
		} catch(IOException ex) {
			System.out.println("No Logging possible!");
		}
	}

	private void initializeLogging() throws IOException {
		InputStream fis = this.getClass().getClassLoader().getResourceAsStream("logging.properties");
	    LogManager.getLogManager().readConfiguration(fis);
	}```

Und so sieht meine logging.properties aus:
```############################################################
#  	Handlers
############################################################
handlers = java.util.logging.FileHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
java.util.logging.FileHandler.pattern = game.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

############################################################
#  	Default global logging level
############################################################
.level = FINE

# Example to customize the SimpleFormatter output format 
# to print one-line log message like this:
#     <level>: <log message> [<date/time>]
#
# java.util.logging.SimpleFormatter.format=%4$s: %5$s [%1$tc]%n

############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################```

Ich danke euch schonmal für eure Antworten :).

entscheidender dürfte doch wohl sein wie du “Wenn ich die properties-Datei verändere” ausführst, was verstehst du darunter?

alle Dateien aus dem src-Verzeichnis müssen ins bin-Verzeichnis kopiert werden,
das macht Eclipse aner nur wenn es selber dazu einen Grund hat,
etwa bei Änderungen mit den Editoren innerhalb Eclipse, oder auch wenn es per Refresh von fremden Änderungen erfährt


bei mir heißt die Option ‘Refresh usinge native hooks or polling’

also ein paar Möglichkeiten:

  • in Eclipse Dateien verändern
  • in Eclipse manuell refreshen (hast du ja schon genannt)
  • automatischer Refresh geht vielleicht, macht aber auch Arbeit im Hintergrund sicherlich
  • externe Ressource nicht in src und dann bin ablegen, sondern im Grundverzeichnis, mit File-Objekt ansteuern statt getResourceAsStream()