code: private String parseTransactionLogDirectory() {
          if (tc.isDebugEnabled())
              Tr.debug(tc, "parseTransactionLogDirectory working with " + _props);
  
          String configuredLogDir = (String) _props.get("transactionLogDirectory");
          // don't allow null to be returned - it will result in use of a location
          // that is shared
          // across all local servers and thus risks log corruption
          if (configuredLogDir == null) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "using default log dir as config is null");
              // set default
              configuredLogDir = defaultLogDir;
          } else {
              // ensure dir string ends with a '/'
              if (!configuredLogDir.endsWith("/")) {
                  configuredLogDir = configuredLogDir + "/";
              }
          }
  
          // resolve the configured value
          WsResource logDirResource = null;
          try {
              // Synchronize to ensure we see a valid locationService
              synchronized (this) {
                  logDirResource = locationService.resolveResource(configuredLogDir);
              }
          } catch (IllegalArgumentException e) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "IllegalArgumentException from location service for dir string: " + configuredLogDir);
              if (!configuredLogDir.equals(defaultLogDir)) {
                  // try using the default
                  configuredLogDir = defaultLogDir;
                  try {
                      // Synchronize to ensure we see a valid locationService
                      synchronized (this) {
                          logDirResource = locationService.resolveResource(configuredLogDir);
                      }
                  } catch (IllegalArgumentException ex) {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          Tr.debug(tc, "Secondary IllegalArgumentException " + ex + " from location service for dir string: " + configuredLogDir);
                      // if we can't establish a tran log dir, we need a way to disable
                      // the transaction service
                      // rethrow the original exception
                      throw e;
                  }
              } else {
                  throw e;
              }
          }
  
          // get full path string from resource
          logDir = logDirResource.toExternalURI().getPath();
  
          return logDir;
      }
docs: This method should only be used where logging to a file system.
  
  @return the full path of the log directory