Status: Resolved (View Workflow)
Environment:slave.jar version 3.14
Slaves connecting via JNLP, launched from a script.
Custom logging.properties file provided.
(also, my slaves were on Windows, but this might be platform-agnostic)
Released As:Remoting 3.30, Jenkins 2.176
TL;DR: -loggingConfig doesn't work; Workaround is to use -Djava.util.logging.config.file.
While trying to track down mysterious slave disconnects, I needed more logging than slave.jar provided by default so, after discovering the documentation I created a file "jenkins-slave.logging.properties" containing all the java.util.logging properties that I wanted set (logging more finely, and to both the console and logfiles).
I then invoked the slave.jar with the argument -loggingConfig jenkins-slave.logging.properties.
However, the console output from slave.jar was unaffected.
What I expected was that the logging would be configured according to my properties file, (but it wasn't).
I investigated and discovered that if, instead, I provide a JVM argument of -Djava.util.logging.config.file=jenkins-slave.logging.properties then that worked perfectly.
I also found that, if I did both then org.jenkinsci.remoting.engine.WorkDirManager's setupLogging method logged a FINE message of "Reading Logging configuration from file: jenkins-slave.logging.properties", implying that the -loggingConfig argument is being passed through correctly.
i.e. the CLI argument parsing is working, and the configuration is getting as far as WorkDirManager, but whatever is being done with it doesn't have the desired/expected effect.
What I would expect is that passing in a -loggingConfig argument would be (nearly) functionally identical to using -Djava.util.logging.config.file. While I would expect that anything logged before "Reading Logging configuration from file: jenkins-slave.logging.properties" would be logged with the default logging configuration (as mentioned in the docs), I would expect all subsequent logging to use the specified configuration not the default, and that's what doesn't seem to be happening.