title: Starting WildFly 8.2 under a user with limited permissions
body: <p>I'm trying to start WildFly 8.2 under a user that doesn't have permissions to write in a WildFly home directory and it's subdirectories. For this purpose I've copied <code>standalone</code> directory to a user home directory. Here is a command I use to start WildFly in cygwin:</p>
  
  <pre><code>$ /cygdrive/c/Program\ Files/wildfly-8.2.0.Final/bin/standalone.sh -Djboss.server.base.dir='C:\Users\above_mentioned_user\standalone' -c standalone.xml
  </code></pre>
  
  <p>And here is an output of this command:</p>
  
  <pre><code>cygpath: can't convert empty path
  =========================================================================
  
    JBoss Bootstrap Environment
  
    JBOSS_HOME: C:\Program Files\wildfly-8.2.0.Final
  
    JAVA: /cygdrive/c/Program Files/Java/jdk1.7.0_51/bin/java
  
    JAVA_OPTS:  -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
  
  =========================================================================
  
  java.lang.IllegalArgumentException: Failed to instantiate class "org.jboss.logmanager.handlers.PeriodicRotatingFileHandler" for handler "FILE"
          at org.jboss.logmanager.config.AbstractPropertyConfiguration$ConstructAction.validate(AbstractPropertyConfiguration.java:119)
          at org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:338)
          at org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:291)
          at org.jboss.logmanager.config.LogContextConfigurationImpl.commit(LogContextConfigurationImpl.java:300)
          at org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:542)
          at org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:97)
          at org.jboss.logmanager.LogManager.readConfiguration(LogManager.java:300)
          at org.jboss.logmanager.LogManager.readConfiguration(LogManager.java:262)
          at java.util.logging.LogManager$2.run(LogManager.java:312)
          at java.util.logging.LogManager$2.run(LogManager.java:310)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:310)
          at java.util.logging.LogManager.getLogManager(LogManager.java:292)
          at java.util.logging.Logger.&lt;init&gt;(Logger.java:264)
          at java.util.logging.Logger.&lt;init&gt;(Logger.java:260)
          at java.util.logging.LogManager$RootLogger.&lt;init&gt;(LogManager.java:1430)
          at java.util.logging.LogManager$RootLogger.&lt;init&gt;(LogManager.java:1428)
          at java.util.logging.LogManager$1.run(LogManager.java:196)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.util.logging.LogManager.&lt;clinit&gt;(LogManager.java:173)
          at org.jboss.modules.Main.main(Main.java:443)
  Caused by: java.lang.reflect.InvocationTargetException
          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
          at org.jboss.logmanager.config.AbstractPropertyConfiguration$ConstructAction.validate(AbstractPropertyConfiguration.java:117)
          ... 20 more
  Caused by: java.io.FileNotFoundException: C:\Program Files\wildfly-8.2.0.Final\standalone\log\server.log (The system cannot find the path specified)
          at java.io.FileOutputStream.open(Native Method)
          at java.io.FileOutputStream.&lt;init&gt;(FileOutputStream.java:221)
          at org.jboss.logmanager.handlers.FileHandler.setFile(FileHandler.java:154)
          at org.jboss.logmanager.handlers.PeriodicRotatingFileHandler.setFile(PeriodicRotatingFileHandler.java:105)
          at org.jboss.logmanager.handlers.FileHandler.setFileName(FileHandler.java:192)
          at org.jboss.logmanager.handlers.FileHandler.&lt;init&gt;(FileHandler.java:122)
          at org.jboss.logmanager.handlers.PeriodicRotatingFileHandler.&lt;init&gt;(PeriodicRotatingFileHandler.java:73)
          ... 25 more
  14:17:42,875 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 32) JBAS010280: Activating Infinispan subsystem.
  14:17:42,884 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 40) JBAS011800: Activating Naming Subsystem
  14:17:42,859 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
  14:17:42,882 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 38) JBAS012615: Activated the following JSF Implementations: [main]
  14:17:42,895 INFO  [org.jboss.remoting] (MSC service thread 1-8) JBoss Remoting version 4.0.6.Final
  14:17:42,906 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 45) JBAS013171: Activating Security Subsystem
  14:17:42,919 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 46) JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
  14:17:42,935 INFO  [org.jboss.as.connector.logging] (MSC service thread 1-1) JBAS010408: Starting JCA Subsystem (IronJacamar 1.1.9.Final)
  14:17:42,938 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 31) WFLYIO001: Worker 'default' has auto-configured to 8 core threads with 64 task threads based on your 4 available processors
  14:17:42,941 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension
  14:17:42,953 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) JBAS010417: Started Driver service with driver-name = h2
  14:17:42,960 INFO  [org.jboss.as.security] (MSC service thread 1-3) JBAS013170: Current PicketBox version=4.0.21.Final
  14:17:42,967 INFO  [org.jboss.as.naming] (MSC service thread 1-2) JBAS011802: Starting Naming Service
  14:17:42,970 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-5) JBAS015400: Bound mail session [java:jboss/mail/Default]
  14:17:43,040 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) JBAS017502: Undertow 1.1.0.Final starting
  14:17:43,040 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 47) JBAS017502: Undertow 1.1.0.Final starting
  14:17:43,489 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 47) JBAS017527: Creating file handler for path C:\Program Files\wildfly-8.2.0.Final/welcome-content
  14:17:43,497 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017525: Started server default-server.
  14:17:43,520 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017531: Host default-host starting
  14:17:43,672 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) JBAS017519: Undertow HTTP listener default listening on /127.0.0.1:8080
  14:17:43,719 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-3) JBAS015012: Started FileSystemDeploymentService for directory C:\Users\tazi0514\projects\nfv\r2\wildfly\deployments
  14:17:43,808 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]
  14:17:43,994 INFO  [org.jboss.ws.common.management] (MSC service thread 1-7) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.3.2.Final
  14:17:44,114 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
  14:17:44,115 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
  14:17:44,116 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.2.0.Final "Tweek" started in 3294ms - Started 184 of 234 services (82 services are lazy, passive or on-demand)
  </code></pre>
  
  <p>As you can see in the log above first WildFly tries writing to <code>C:\Program Files\wildfly-8.2.0.Final\standalone\log\server.log</code> even though there is another directory pointed out in the command line as a server base directory. Having failed to write there because of lack of permissions WildFly goes on starting a server normally.</p>
  
  <p>Is there a way to make WildFly not to try writing a log in a default server base directory?</p>