diff --git a/core/src/main/java/hudson/model/Computer.java b/core/src/main/java/hudson/model/Computer.java index c3dce4798dbbfe8a3626e8b56a2be2a8cd2249ce..9b177b2a0555078667284c8f8effc7fb6d8e2f6e 100644 --- a/core/src/main/java/hudson/model/Computer.java +++ b/core/src/main/java/hudson/model/Computer.java @@ -62,6 +62,7 @@ import hudson.util.RemotingDiagnostics; import hudson.util.RemotingDiagnostics.HeapDump; import hudson.util.RunList; import hudson.util.Futures; +import hudson.util.IOUtils; import hudson.util.NamingThreadFactory; import jenkins.model.Jenkins; import jenkins.util.ContextResettingExecutorService; @@ -300,8 +301,10 @@ public /*transient*/ abstract class Computer extends Actionable implements Acces */ protected @Nonnull File getLogDir() { File dir = new File(Jenkins.get().getRootDir(),"logs/slaves/"+nodeName); - if (!dir.exists() && !dir.mkdirs()) { - LOGGER.severe("Failed to create agent log directory " + dir.getAbsolutePath()); + try { + IOUtils.mkdirs(dir); + } catch (IOException x) { + LOGGER.log(Level.SEVERE, "Failed to create agent log directory " + dir, x); } return dir; }