# Configuration file that controls the slave logging ... if we pass in a JVM
# arg -Djava.util.logging.config.file=jenkins-slave.logging.properties

# Send output to file as well as console.
handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler

# Log everything equally
java.util.logging.FileHandler.level=ALL
java.util.logging.ConsoleHandler.level=ALL
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
# The default log format is a two-line string:
# %1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s%n%4$s: %5$s%6$s%n
# e.g. 
# Apr 25, 2018 12:55:04 PM org.jenkinsci.remoting.protocol.IOHub processScheduledTasks
# FINEST: 0 scheduled tasks to process
# We want ISO format date/time (yyyy-mm-ddThh:mm:ss.mmm+zzzz) as it's easier to sort, so
# "%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp" becomes "%1$tFT%1$tT.%1$tL%1$tz"
# We also want one line, not two, so "%2$s%n%4$s" becomes "%2$s %4$s",
# but we want the log-level to happen before the log source, so we swap those around
# thus "%2$s %4$s" becomes "%4$s %2$s"
java.util.logging.SimpleFormatter.format=%1$tFT%1$tT.%1$tL%1$tz %4$s %2$s: %5$s%6$s%n

# On the filesystem, we keep up to 9 logs of 10meg each.
java.util.logging.FileHandler.pattern=jenkins-slave.%g.log
java.util.logging.FileHandler.encoding=UTF-8
java.util.logging.FileHandler.limit=10485760
java.util.logging.FileHandler.count=9
java.util.logging.FileHandler.append=false

# Log everything ...
.level= ALL
# ... except unwanted FINEST level messages
org.jenkinsci.remoting.protocol.impl.level=FINER
hudson.util.ProcessTree.level=FINER
# ... or unwanted FINER level messages
hudson.remoting.FileSystemJarCache.level=FINE
hudson.remoting.PipeWindow.level=FINE
hudson.remoting.RemoteClassLoader.level=FINE
# ... or unwanted FINE level messages
hudson.remoting.Channel.level=CONFIG
hudson.remoting.ResourceImageDirect.level=CONFIG
