diff --git a/build.gradle b/build.gradle
index 53cd7bf2fea85c9b631f05537d200ee030f94dc6..107eecbae98d561336f18a88b874513136e5d270 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,7 +2,7 @@ def vXnat = '1.7.0-SNAPSHOT'
 def vXnatPipeline = vXnat
 def vSpring = '4.2.5.RELEASE'
 def vSpringSecurity = '4.0.4.RELEASE'
-def vSwagger = '2.3.1'
+def vSwagger = '2.4.0'
 def vHibernate = '4.3.11.Final'
 def vEhcache = '2.6.11'
 def vJackson = '2.6.5'
diff --git a/src/main/java/org/nrg/xapi/rest/settings/SiteConfigApi.java b/src/main/java/org/nrg/xapi/rest/settings/SiteConfigApi.java
index 6d38437dee8ddc4db3ad3e00bf0cbc6aa56dcc47..f04aac762f7ff86a8be4a069b0ce402aafe74ca6 100644
--- a/src/main/java/org/nrg/xapi/rest/settings/SiteConfigApi.java
+++ b/src/main/java/org/nrg/xapi/rest/settings/SiteConfigApi.java
@@ -116,17 +116,20 @@ public class SiteConfigApi extends AbstractXnatRestApi {
             return new ResponseEntity<>(status);
         }
 
-        if (_log.isDebugEnabled()) {
+        if (_log.isInfoEnabled()) {
             final StringBuilder message = new StringBuilder("User ").append(getSessionUser().getUsername()).append(" is setting the values for the following properties:\n");
             for (final String name : properties.keySet()) {
                 message.append(" * ").append(name).append(": ").append(properties.get(name)).append("\n");
             }
-            _log.debug(message.toString());
+            _log.info(message.toString());
         }
 
         for (final String name : properties.keySet()) {
             try {
                 _preferences.set(properties.get(name), name);
+                if (_log.isInfoEnabled()) {
+                    _log.info("Set property {} to value: {}", name, properties.get(name));
+                }
             } catch (InvalidPreferenceName invalidPreferenceName) {
                 _log.error("Got an invalid preference name error for the preference: " + name + ", which is weird because the site configuration is not strict");
             }
@@ -148,8 +151,8 @@ public class SiteConfigApi extends AbstractXnatRestApi {
             return new ResponseEntity<>(status);
         }
 
-        if (_log.isDebugEnabled()) {
-            _log.debug("User {} is setting the value of the site configuration property {} to: {}", getSessionUser().getUsername(), property, value);
+        if (_log.isInfoEnabled()) {
+            _log.info("User {} is setting the value of the site configuration property {} to: {}", getSessionUser().getUsername(), property, value);
         }
 
         try {
diff --git a/src/main/java/org/nrg/xnat/turbine/utils/ArcSpecManager.java b/src/main/java/org/nrg/xnat/turbine/utils/ArcSpecManager.java
index 77aa42932f5e5539c8a07d2e791d2513b2cbcfe3..35fffe5505143c7a68ae4bf096802464ae8c0d4d 100644
--- a/src/main/java/org/nrg/xnat/turbine/utils/ArcSpecManager.java
+++ b/src/main/java/org/nrg/xnat/turbine/utils/ArcSpecManager.java
@@ -57,130 +57,6 @@ public class ArcSpecManager {
             logger.info("Initializing ArcSpec...");
             arcSpec = GetFreshInstance();
 
-//            if (arcSpec!=null){
-//
-//                if (arcSpec.getSiteAdminEmail()!=null && !arcSpec.getSiteAdminEmail().equals("")){
-//                    XFT.SetAdminEmail(arcSpec.getSiteAdminEmail());
-//                }else{
-//                    arcSpec.setSiteAdminEmail(XDAT.getSiteConfigPreferences().getAdminEmail());
-//                }
-//
-//                if (arcSpec.getSiteUrl()!=null && !arcSpec.getSiteUrl().equals("")){
-//                    XFT.SetSiteURL(arcSpec.getSiteUrl());
-//                }else{
-//                    arcSpec.setSiteUrl(XDAT.getSiteConfigPreferences().getSiteUrl());
-//                }
-//
-//                if (arcSpec.getSiteId()!=null && !arcSpec.getSiteId().equals("")){
-//                    XFT.SetSiteID(arcSpec.getSiteId());
-//                }else{
-//                    arcSpec.setSiteId("");
-//                }
-//
-//                if (arcSpec.getSmtpHost()!=null && !arcSpec.getSmtpHost().equals("")){
-//                    XFT.SetAdminEmailHost(arcSpec.getSmtpHost());
-//                }else{
-//                    arcSpec.setSmtpHost(XFT.GetAdminEmailHost());
-//                }
-//
-//                if (arcSpec.getEnableNewRegistrations()!=null){
-//                    XFT.SetUserRegistration(arcSpec.getEnableNewRegistrations().toString());
-//                }else{
-//                    arcSpec.setEnableNewRegistrations(XDAT.getSiteConfigPreferences().getUserRegistration());
-//                }
-//
-//                if (arcSpec.getRequireLogin()!=null){
-//                    XFT.SetRequireLogin(arcSpec.getRequireLogin().toString());
-//                }else{
-//                    arcSpec.setRequireLogin(XDAT.getSiteConfigPreferences().getRequireLogin());
-//                }
-//
-//                if (arcSpec.getGlobalpaths()!=null && arcSpec.getGlobalpaths().getPipelinepath()!=null){
-//                    XFT.SetPipelinePath(arcSpec.getGlobalpaths().getPipelinepath());
-//                }else{
-//                    if (arcSpec.getGlobalpaths()!=null){
-//                        arcSpec.getGlobalpaths().setPipelinepath(XDAT.getSiteConfigPreferences().getAdminEmail());
-//                    }
-//                }
-//
-//                if (arcSpec.getGlobalpaths()!=null && arcSpec.getGlobalpaths().getArchivepath()!=null){
-//                    XFT.SetArchiveRootPath(arcSpec.getGlobalpaths().getArchivepath());
-//                }else{
-//                    if (arcSpec.getGlobalpaths()!=null && XFT.GetArchiveRootPath()!=null){
-//                        arcSpec.getGlobalpaths().setArchivepath(XFT.GetArchiveRootPath());
-//                    }
-//                }
-//
-//                if (arcSpec.getGlobalpaths()!=null && arcSpec.getGlobalpaths().getCachepath()!=null){
-//                    XFT.SetCachePath(arcSpec.getGlobalpaths().getCachepath());
-//                }else{
-//                    if (arcSpec.getGlobalpaths()!=null && XDAT.getSiteConfigPreferences().getCachePath()!=null){
-//                        arcSpec.getGlobalpaths().setCachepath(XDAT.getSiteConfigPreferences().getCachePath());
-//                    }
-//                }
-//
-//                if (arcSpec.getGlobalpaths()!=null && arcSpec.getGlobalpaths().getFtppath()!=null){
-//                    XFT.setFtpPath(arcSpec.getGlobalpaths().getFtppath());
-//                }else{
-//                    if (arcSpec.getGlobalpaths()!=null && XFT.getFtpPath()!=null){
-//                        arcSpec.getGlobalpaths().setFtppath(XFT.getFtpPath());
-//                    }
-//                }
-//
-//                if (arcSpec.getGlobalpaths()!=null && arcSpec.getGlobalpaths().getBuildpath()!=null){
-//                    XFT.setFtpPath(arcSpec.getGlobalpaths().getBuildpath());
-//                }else{
-//                    if (arcSpec.getGlobalpaths()!=null && XFT.getBuildPath()!=null){
-//                        arcSpec.getGlobalpaths().setBuildpath(XFT.getBuildPath());
-//                    }
-//                }
-//
-//                if (arcSpec.getGlobalpaths()!=null && arcSpec.getGlobalpaths().getPrearchivepath()!=null){
-//                    XFT.SetPrearchivePath(arcSpec.getGlobalpaths().getPrearchivepath());
-//                }else{
-//                    if (arcSpec.getGlobalpaths()!=null && XFT.GetPrearchivePath()!=null){
-//                        arcSpec.getGlobalpaths().setPrearchivepath(XFT.GetPrearchivePath());
-//                    }
-//                }
-//
-//
-//                //set email defaults
-//                if (arcSpec.getEmailspecifications_newUserRegistration()==null){
-//                    arcSpec.setEmailspecifications_newUserRegistration(true);
-//                }
-//                if (arcSpec.getEmailspecifications_pageEmail()==null){
-//                    arcSpec.setEmailspecifications_pageEmail(true);
-//                }
-//                if (arcSpec.getEmailspecifications_pipeline()==null){
-//                    arcSpec.setEmailspecifications_pipeline(true);
-//                }
-//                if (arcSpec.getEmailspecifications_projectAccess()==null){
-//                    arcSpec.setEmailspecifications_projectAccess(true);
-//                }
-//                if (arcSpec.getEmailspecifications_transfer()==null){
-//                    arcSpec.setEmailspecifications_transfer(true);
-//                }
-//                //end email defaults
-//
-//                if (arcSpec.getEmailspecifications_newUserRegistration()!=null){
-//                    AdminUtils.SetNewUserRegistrationsEmail(arcSpec.getEmailspecifications_newUserRegistration());
-//                }
-//
-//                if (arcSpec.getEmailspecifications_pageEmail()!=null){
-//                    AdminUtils.SetPageEmail(arcSpec.getEmailspecifications_pageEmail());
-//                }
-//
-//                if (arcSpec.getDcm_appletLink()==null){
-//                    arcSpec.setDcm_appletLink(Boolean.TRUE);
-//                }
-//
-//                if (arcSpec.getEnableCsrfToken()!=null){
-//                    XFT.SetEnableCsrfToken(arcSpec.getEnableCsrfToken().toString());
-//                }else{
-//                    arcSpec.setEnableCsrfToken(XDAT.getSiteConfigPreferences().getEnableCsrfToken());
-//                }
-//            }
-
             try {
                 if (arcSpec!=null){
                     String cachePath = arcSpec.getGlobalCachePath();
@@ -220,56 +96,103 @@ public class ArcSpecManager {
         arcSpec = new ArcArchivespecification(user);
         final SiteConfigPreferences preferences = XDAT.getSiteConfigPreferences();
         if (StringUtils.isNotBlank(preferences.getAdminEmail())) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting site admin email to: {}", preferences.getAdminEmail());
+            }
             arcSpec.setSiteAdminEmail(preferences.getAdminEmail());
         }
 
         if (StringUtils.isNotBlank(preferences.getSiteId())) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting site ID to: {}", preferences.getSiteId());
+            }
             arcSpec.setSiteId(preferences.getSiteId());
         }
 
         if (StringUtils.isNotBlank(preferences.getSiteUrl())) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting site URL to: {}", preferences.getSiteUrl());
+            }
             arcSpec.setSiteUrl(preferences.getSiteUrl());
         }
 
         final Map<String, String> smtpServer = preferences.getSmtpServer();
         if (smtpServer != null && smtpServer.containsKey("host")) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting SMTP host to: {}", smtpServer.get("host"));
+            }
             arcSpec.setSmtpHost(smtpServer.get("host"));
         }
 
+        if (logger.isInfoEnabled()) {
+            logger.info("Setting enable new registrations to: {}", preferences.getUserRegistration());
+        }
         arcSpec.setEnableNewRegistrations(preferences.getUserRegistration());
 
+        if (logger.isInfoEnabled()) {
+            logger.info("Setting reguire login to: {}", preferences.getRequireLogin());
+        }
         arcSpec.setRequireLogin(preferences.getRequireLogin());
 
         if (StringUtils.isNotBlank(preferences.getPipelinePath())) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting pipeline path to: {}", preferences.getPipelinePath());
+            }
             arcSpec.setProperty("globalPaths/pipelinePath", preferences.getPipelinePath());
         }
 
         if (StringUtils.isNotBlank(preferences.getArchivePath())) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting archive path to: {}", preferences.getArchivePath());
+            }
             arcSpec.setProperty("globalPaths/archivePath", preferences.getArchivePath());
         }
 
         if (StringUtils.isNotBlank(preferences.getPrearchivePath())) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting prearchive path to: {}", preferences.getPrearchivePath());
+            }
             arcSpec.setProperty("globalPaths/prearchivePath", preferences.getPrearchivePath());
         }
 
         if (StringUtils.isNotBlank(preferences.getCachePath())) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting cache path to: {}", preferences.getCachePath());
+            }
             arcSpec.setProperty("globalPaths/cachePath", preferences.getCachePath());
         }
 
         if (StringUtils.isNotBlank(preferences.getFtpPath())) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting FTP path to: {}", preferences.getFtpPath());
+            }
             arcSpec.setProperty("globalPaths/ftpPath", preferences.getFtpPath());
         }
 
         if (StringUtils.isNotBlank(preferences.getBuildPath())) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Setting build path to: {}", preferences.getBuildPath());
+            }
             arcSpec.setProperty("globalPaths/buildPath", preferences.getBuildPath());
         }
 
+        if (logger.isInfoEnabled()) {
+            logger.info("Setting enable CSRF token to: {}", preferences.getEnableCsrfToken());
+        }
         arcSpec.setEnableCsrfToken(preferences.getEnableCsrfToken());
 
+        if (logger.isInfoEnabled()) {
+            // logger.info("Saving arcspec: {}", displayArcSpec(arcSpec));
+            logger.info("Saving arcspec");
+        }
         save(arcSpec, user, EventUtils.newEventInstance(EventUtils.CATEGORY.SIDE_ADMIN, EventUtils.TYPE.PROCESS, "Initialized archive specifications."));
         return arcSpec;
     }
 
+//    private static String displayArcSpec(final ArcArchivespecification arcSpec) {
+//        return "TBD.";
+//    }
+
     public static boolean allowTransferEmail(){
         return GetInstance().getEmailspecifications_transfer();
     }
diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties
index 283396ac8ab7ea4724c69f619a146729a3cd3068..29280576318c2ec2585f938aa8d5cbdc00c00452 100644
--- a/src/main/resources/log4j.properties
+++ b/src/main/resources/log4j.properties
@@ -78,6 +78,9 @@ log4j.additivity.org.nrg.xnat.remote=false
 log4j.category.org.nrg.xnat.helpers.prearchive=WARN, prearchive
 log4j.additivity.org.nrg.xnat.helpers.prearchive=false
 
+log4j.category.org.nrg.xapi=INFO, xapi
+log4j.additivity.org.nrg.xapi=false
+
 # SETTING AccessLogger Log to INFO will log all site access
 log4j.category.org.nrg.xdat.turbine.utils.AccessLogger=INFO, access
 log4j.additivity.org.nrg.xdat.turbine.utils.AccessLogger=false
@@ -231,6 +234,16 @@ log4j.appender.xdat.layout=org.apache.log4j.PatternLayout
 log4j.appender.xdat.layout.conversionPattern=%d [%t] %-5p %c - %m%n
 log4j.appender.xdat.append=true
 
+#
+# XAPI
+#
+log4j.appender.xapi=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.xapi.DatePattern='.'yyy-MM-dd
+log4j.appender.xapi.file=${xnat.home}/logs/xapi.log
+log4j.appender.xapi.layout=org.apache.log4j.PatternLayout
+log4j.appender.xapi.layout.conversionPattern=%d [%t] %-5p %c - %m%n
+log4j.appender.xapi.append=true
+
 #
 # Restlets
 #
diff --git a/src/main/webapp/WEB-INF/conf/log4j.properties b/src/main/webapp/WEB-INF/conf/log4j.properties
deleted file mode 100644
index ab3132b478d430a128201e1b290ac2fddab42d6f..0000000000000000000000000000000000000000
--- a/src/main/webapp/WEB-INF/conf/log4j.properties
+++ /dev/null
@@ -1,391 +0,0 @@
-
-#
-# D:/Development/XNAT/1.6/xnat_builder_1_6dev/plugin-resources/originals/log4j.properties
-# XNAT http://www.xnat.org
-# Copyright (c) 2014, Washington University School of Medicine
-# All Rights Reserved
-#
-# Released under the Simplified BSD.
-#
-# Last modified 2/7/14 12:19 PM
-#
-
-log4j.rootLogger=ERROR, app
-
-#
-# Turbine goes into Turbine Log
-#
-log4j.category.org.apache.turbine=ERROR, turbine
-log4j.additivity.org.apache.turbine=false
-
-#
-# Velocity Logfile
-#
-log4j.category.velocity=ERROR, velocity
-log4j.additivity.velocity=false
-
-#
-# Scheduler Category
-#
-log4j.category.scheduler=ERROR, scheduler
-log4j.additivity.scheduler=false
-
-#
-# Avalon Logfile
-#
-log4j.category.avalon=ERROR, avalon
-log4j.additivity.avalon=false
-
-#
-# Axis Logfile
-#
-log4j.category.org.apache.axis=ERROR, axis
-log4j.additivity.org.apache.axis=false
-
-#
-# Application debugging
-#
-log4j.category.org.xnat.xnatfs=ERROR, xnatfs
-log4j.additivity.org.xnat.xnatfs=false
-
-#
-# Application debugging
-#
-log4j.category.org.apache.turbine.app.xnat17=ERROR, app
-log4j.additivity.org.apache.turbine.app.xnat17=false
-
-#
-# Application debugging
-#
-log4j.category.org.nrg.xdat=ERROR, xdat
-log4j.additivity.org.nrg.xdat=false
-
-#
-# Application debugging
-#
-log4j.category.org.nrg.xft=ERROR, xdat
-log4j.additivity.org.nrg.xft=false
-
-log4j.category.org.nrg.xnat=ERROR, xdat
-log4j.additivity.org.nrg.xnat=false
-
-log4j.category.org.nrg.xnat.restlet=WARN, restlet
-log4j.additivity.org.nrg.xnat.restlet=false
-
-log4j.category.org.nrg.xnat.remote=WARN, remote
-log4j.additivity.org.nrg.xnat.remote=false
-
-log4j.category.org.nrg.xnat.helpers.prearchive=WARN, prearchive
-log4j.additivity.org.nrg.xnat.helpers.prearchive=false
-
-# SETTING AccessLogger Log to INFO will log all site access
-log4j.category.org.nrg.xdat.turbine.utils.AccessLogger=INFO, access
-log4j.additivity.org.nrg.xdat.turbine.utils.AccessLogger=false
-
-# SETTING PoolDBUtils Log to DEBUG will log all SQL QUERIES
-log4j.category.org.nrg.xft.db.PoolDBUtils=ERROR, sql
-log4j.additivity.org.nrg.xft.db.PoolDBUtils=false
-
-# Analytics category, default analytics level is trace.
-# log4j.category.analytics = TRACE, analytics
-# log4j.additivity.analytics = false
-
-# Security logs, both Spring Framework and XNAT
-log4j.category.org.springframework.security=WARN, security
-log4j.additivity.org.springframework.security=false
-log4j.category.org.springframework.ldap=WARN, security
-log4j.additivity.org.springframework.ldap=false
-log4j.category.org.nrg.xnat.security=WARN, security
-log4j.additivity.org.nrg.xnat.security=false
-
-# Spring Framework logs
-log4j.appender.org.springframework.beans=WARN, spring
-log4j.additivity.org.springframework.beans=false
-log4j.appender.org.springframework.context=WARN, spring
-log4j.additivity.org.springframework.context=false
-log4j.appender.org.springframework.core=WARN, spring
-log4j.additivity.org.springframework.core=false
-log4j.appender.org.springframework.http=WARN, spring
-log4j.additivity.org.springframework.http=false
-log4j.appender.org.springframework.mail=WARN, spring
-log4j.additivity.org.springframework.mail=false
-log4j.appender.org.springframework.oxm=WARN, spring
-log4j.additivity.org.springframework.oxm=false
-log4j.appender.org.springframework.scheduling=WARN, spring
-log4j.additivity.org.springframework.scheduling=false
-log4j.appender.org.springframework.stereotype=WARN, spring
-log4j.additivity.org.springframework.stereotype=false
-log4j.appender.org.springframework.util=WARN, spring
-log4j.additivity.org.springframework.util=false
-log4j.appender.org.springframework.web=WARN, spring
-log4j.additivity.org.springframework.web=false
-
-# Database and ORM logging.
-log4j.appender.org.nrg.framework.orm=WARN, orm
-log4j.additivity.org.nrg.framework.orm=false
-log4j.appender.org.springframework.orm=WARN, orm
-log4j.additivity.org.springframework.orm=false
-log4j.appender.org.springframework.dao=WARN, orm
-log4j.additivity.org.springframework.dao=false
-log4j.appender.org.springframework.jdbc=WARN, orm
-log4j.additivity.org.springframework.jdbc=false
-log4j.appender.org.springframework.transaction=WARN, orm
-log4j.additivity.org.springframework.transaction=false
-
-
-# DICOM services
-log4j.category.org.nrg.dcm=WARN, dicom
-log4j.additivity.org.nrg.dcm=false
-
-#
-# Automation logging
-#
-log4j.category.org.nrg.automation=ERROR, automation
-log4j.additivity.org.nrg.automation=false
-
-########################################################################
-#
-# Logfile definitions
-#
-########################################################################
-
-#
-# turbine.log
-#
-log4j.appender.turbine=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.turbine.DatePattern='.'yyy-MM-dd
-log4j.appender.turbine.file=${xnat.home}/logs/turbine.log
-log4j.appender.turbine.layout=org.apache.log4j.PatternLayout
-log4j.appender.turbine.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.turbine.append=false
-
-#
-# Scheduler Output
-#
-log4j.appender.scheduler=org.apache.log4j.FileAppender
-log4j.appender.scheduler.file=${xnat.home}/logs/scheduler.log
-log4j.appender.scheduler.layout=org.apache.log4j.PatternLayout
-log4j.appender.scheduler.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.scheduler.append=false
-
-#
-# Velocity gets configured to write its output onto the velocity
-# category.
-#
-log4j.appender.velocity=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.velocity.DatePattern='.'yyy-MM-dd
-log4j.appender.velocity.file=${xnat.home}/logs/velocity.log
-log4j.appender.velocity.layout=org.apache.log4j.PatternLayout
-log4j.appender.velocity.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.velocity.append=false
-
-#
-# Avalon gets configured to write its output onto the avalon
-# category.
-#
-log4j.appender.avalon=org.apache.log4j.FileAppender
-log4j.appender.avalon.file=${xnat.home}/logs/avalon.log
-log4j.appender.avalon.layout=org.apache.log4j.PatternLayout
-log4j.appender.avalon.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.avalon.append=false
-
-#
-# xnatfs.log
-#
-log4j.appender.xnatfs=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.xnatfs.DatePattern='.'yyy-MM-dd
-log4j.appender.xnatfs.file=${xnat.home}/logs/xnatfs.log
-log4j.appender.xnatfs.layout=org.apache.log4j.PatternLayout
-log4j.appender.xnatfs.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.xnatfs.append=false
-
-#
-# Application.log
-#
-log4j.appender.app=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.app.DatePattern='.'yyy-MM-dd
-log4j.appender.app.file=${xnat.home}/logs/application.log
-log4j.appender.app.layout=org.apache.log4j.PatternLayout
-log4j.appender.app.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.app.append=false
-
-#
-# Application.log
-#
-
-log4j.appender.axis=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.axis.DatePattern='.'yyy-MM-dd
-log4j.appender.axis.File=${xnat.home}/logs/axis.log
-log4j.appender.axis.Append=true
-log4j.appender.axis.Threshold=WARN
-log4j.appender.axis.layout=org.apache.log4j.PatternLayout
-log4j.appender.axis.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
-
-#
-# XDAT
-#
-log4j.appender.xdat=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.xdat.DatePattern='.'yyy-MM-dd
-log4j.appender.xdat.file=${xnat.home}/logs/xdat.log
-log4j.appender.xdat.layout=org.apache.log4j.PatternLayout
-log4j.appender.xdat.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.xdat.append=true
-
-#
-# Restlets
-#
-log4j.appender.restlet=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.restlet.DatePattern='.'yyy-MM-dd
-log4j.appender.restlet.file=${xnat.home}/logs/restlet.log
-log4j.appender.restlet.layout=org.apache.log4j.PatternLayout
-log4j.appender.restlet.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.restlet.append=true
-
-#
-# Prearchive
-#
-log4j.appender.prearchive=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.prearchive.DatePattern='.'yyy-MM-dd
-log4j.appender.prearchive.file=${xnat.home}/logs/prearchive.log
-log4j.appender.prearchive.layout=org.apache.log4j.PatternLayout
-log4j.appender.prearchive.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.prearchive.append=true
-
-#
-# DICOM
-#
-log4j.appender.dicom=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.dicom.DatePattern='.'yyy-MM-dd
-log4j.appender.dicom.file=${xnat.home}/logs/dicom.log
-log4j.appender.dicom.layout=org.apache.log4j.PatternLayout
-log4j.appender.dicom.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.dicom.append=true
-
-#
-# ACCESS LOG
-#
-log4j.appender.access=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.access.DatePattern='.'yyy-MM-dd
-log4j.appender.access.file=${xnat.home}/logs/access.log
-log4j.appender.access.ImmediateFlush=true
-log4j.appender.access.Threshold=ERROR
-log4j.appender.access.append=true
-log4j.appender.access.layout=org.apache.log4j.PatternLayout
-log4j.appender.access.layout.conversionPattern=%d - %m%n
-
-#
-# QUERY LOG
-#
-log4j.appender.sql=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.sql.file=${xnat.home}/logs/sql.log
-log4j.appender.sql.ImmediateFlush=true
-log4j.appender.sql.DatePattern='.'yyy-MM-dd
-log4j.appender.sql.append=true
-log4j.appender.sql.layout=org.apache.log4j.PatternLayout
-log4j.appender.sql.layout.conversionPattern=%d - %m%n
-
-# REMOTE LOG
-#
-log4j.appender.remote=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.remote.file=${xnat.home}/logs/remote.log
-log4j.appender.remote.ImmediateFlush=true
-log4j.appender.remote.DatePattern='.'yyy-MM-dd
-log4j.appender.remote.append=true
-log4j.appender.remote.layout=org.apache.log4j.PatternLayout
-log4j.appender.remote.layout.conversionPattern=%d - %m%n
-
-#
-# ANALYTICS LOG
-#
-# log4j.appender.analytics = org.apache.log4j.jdbc.JDBCAppender
-# log4j.appender.analytics.layout = org.apache.log4j.PatternLayout
-# log4j.appender.analytics.layout.conversionPattern = INSERT INTO analytics (entry_date, entry_level, entry_location, message) VALUES ( '%d{yyyy-MM-dd HH:mm:ss.SSS}','%p', '%C;%L', E'%m' )
-# log4j.appender.analytics.URL = jdbc:postgresql://localhost/xnat
-# log4j.appender.analytics.Driver = org.postgresql.Driver
-# log4j.appender.analytics.User = xnat
-# log4j.appender.analytics.Password = xnat
-
-#
-# XDAT Security
-#
-log4j.appender.security=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.security.DatePattern='.'yyy-MM-dd
-log4j.appender.security.file=${xnat.home}/logs/security.log
-log4j.appender.security.layout=org.apache.log4j.PatternLayout
-log4j.appender.security.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.security.append=true
-
-#
-# Spring Framework logs
-#
-log4j.appender.spring=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.spring.DatePattern='.'yyy-MM-dd
-log4j.appender.spring.file=${xnat.home}/logs/spring.log
-log4j.appender.spring.layout=org.apache.log4j.PatternLayout
-log4j.appender.spring.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.spring.append=true
-
-#
-# NRG and Spring ORM Framework logs
-#
-log4j.appender.orm=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.orm.DatePattern='.'yyy-MM-dd
-log4j.appender.orm.file=${xnat.home}/logs/orm.log
-log4j.appender.orm.layout=org.apache.log4j.PatternLayout
-log4j.appender.orm.layout.conversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.orm.append=true
-
-#
-# Automation log output
-#
-log4j.appender.automation=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.automation.File=${xnat.home}/logs/automation.log
-log4j.appender.automation.DatePattern='.'yyyy-MM-dd
-log4j.appender.automation.layout=org.apache.log4j.PatternLayout
-log4j.appender.automation.layout.ConversionPattern=%d %m%n
-
-#
-# Received file log
-#
-log4j.appender.RECEIVED=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.RECEIVED.File=${xnat.home}/logs/received.log
-log4j.appender.RECEIVED.DatePattern='.'yyyy-MM-dd
-log4j.appender.RECEIVED.layout=org.apache.log4j.PatternLayout
-log4j.appender.RECEIVED.layout.ConversionPattern=%d %m%n
-log4j.additivity.org.nrg.xnat.received=false
-log4j.logger.org.nrg.xnat.received=INFO,RECEIVED
-
-#
-# Pipeline Logfile
-#
-log4j.category.org.nrg.pipeline=ERROR, pipeline
-log4j.additivity.org.nrg.pipeline=false
-log4j.appender.pipeline=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.pipeline.File=${xnat.home}/logs/pipeline.log
-log4j.appender.pipeline.DatePattern='.'yyyy-MM-dd
-log4j.appender.pipeline.layout=org.apache.log4j.PatternLayout
-log4j.appender.pipeline.layout.ConversionPattern=%d %m%n
-
-#
-# Pipeline Launch Logfile
-#
-log4j.category.org.nrg.pipeline.launch=INFO, launch
-log4j.additivity.org.nrg.pipeline.launch=false
-log4j.appender.launch=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.launch.File=${xnat.home}/logs/launch.log
-log4j.appender.launch.DatePattern='.'yyyy-MM-dd
-log4j.appender.launch.layout=org.apache.log4j.PatternLayout
-log4j.appender.launch.layout.ConversionPattern=%d %m%n
-
-#
-# JMS logging
-#
-log4j.category.org.springframework.jms=INFO, jms
-log4j.additivity.org.springframework.jms=false
-log4j.category.org.nrg.xnat.services.messaging=INFO, jms
-log4j.additivity.org.nrg.xnat.services.messaging=false
-log4j.appender.jms=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.jms.File=${xnat.home}/logs/jms.log
-log4j.appender.jms.DatePattern='.'yyyy-MM-dd
-log4j.appender.jms.layout=org.apache.log4j.PatternLayout
-log4j.appender.jms.layout.ConversionPattern=%d %m%n