diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/Dockerfile b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/Dockerfile
index 512bf217..3499c956 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/Dockerfile
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/Dockerfile
@@ -14,7 +14,7 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
$TOMCAT_DIR/amps $TOMCAT_DIR/webapps/alfresco -directory -nobackup -force
COPY alfresco-global.properties $TOMCAT_DIR/shared/classes/alfresco-global.properties
-COPY dev-log4j.properties $TOMCAT_DIR/shared/classes/alfresco/extension
+COPY dev-log4j2.properties $TOMCAT_DIR/shared/classes/alfresco/extension
COPY disable-webscript-caching-context.xml $TOMCAT_DIR/shared/classes/alfresco/extension
# Copy Dockerfile to avoid an error if no license file exists
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/dev-log4j.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/dev-log4j.properties
deleted file mode 100644
index d7cf832e..00000000
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/dev-log4j.properties
+++ /dev/null
@@ -1,270 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-# Set root logger level to error
-log4j.rootLogger=error, Console, File
-
-
-# All outputs currently set to be a ConsoleAppender.
-log4j.appender.Console=org.apache.log4j.ConsoleAppender
-log4j.appender.Console.layout=org.apache.log4j.PatternLayout
-
-# use log4j NDC to replace %x with tenant domain / username
-log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
-#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
-
-log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.File.File=logs/alfresco.log
-log4j.appender.File.Append=true
-log4j.appender.File.DatePattern='.'yyyy-MM-dd
-log4j.appender.File.layout=org.apache.log4j.PatternLayout
-log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
-
-#log4j.appender.file=org.apache.log4j.FileAppender
-#log4j.appender.file.File=hibernate.log
-#log4j.appender.file.layout=org.apache.log4j.PatternLayout
-#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
-
-
-# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
-# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
-# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
-# Log4j addLoggerMBean as long as the logger exists and has been loaded.
-
-# Hibernate
-log4j.logger.org.hibernate=error
-log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
-log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
-log4j.logger.org.hibernate.type=warn
-log4j.logger.org.hibernate.cfg.SettingsFactory=warn
-
-# Spring
-log4j.logger.org.springframework=warn
-# Turn off Spring remoting warnings that should really be info or debug.
-log4j.logger.org.springframework.remoting.support=error
-log4j.logger.org.springframework.util=error
-
-# Axis/WSS4J
-log4j.logger.org.apache.axis=info
-log4j.logger.org.apache.ws=info
-
-# CXF
-log4j.logger.org.apache.cxf=error
-
-# MyFaces
-log4j.logger.org.apache.myfaces.util.DebugUtils=info
-log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
-log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
-log4j.logger.org.apache.myfaces.taglib=error
-
-# OpenOfficeConnection
-log4j.logger.net.sf.jooreports.openoffice.connection=fatal
-
-# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
-
-# Alfresco
-log4j.logger.org.alfresco=error
-log4j.logger.org.alfresco.repo.admin=info
-log4j.logger.org.alfresco.repo.transaction=warn
-log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
-log4j.logger.org.alfresco.repo.model.filefolder=warn
-log4j.logger.org.alfresco.repo.tenant=info
-log4j.logger.org.alfresco.config=warn
-log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
-log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
-log4j.logger.org.alfresco.repo.management.subsystems=warn
-log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
-log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
-log4j.logger.org.alfresco.repo.security.sync=info
-log4j.logger.org.alfresco.repo.security.person=info
-
-log4j.logger.org.alfresco.sample=info
-log4j.logger.org.alfresco.web=info
-#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
-#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
-#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
-#log4j.logger.org.alfresco.web.bean.clipboard=debug
-log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
-#log4j.logger.org.alfresco.web.page=debug
-
-log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
-#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
-
-log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
-log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
-
-# Specific patches
-log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
-log4j.logger.org.alfresco.repo.version.VersionMigrator=info
-
-log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
-log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
-log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
-log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
-log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
-log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
-log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
-log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
-log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
-log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
-log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
-log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
-log4j.logger.org.alfresco.enterprise.repo.cluster=info
-log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
-
-#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
-log4j.logger.org.alfresco.repo.node.db.NodeStringLengthWorker=info
-
-log4j.logger.org.alfresco.repo.workflow=info
-
-# CIFS server debugging
-log4j.logger.org.alfresco.smb.protocol=error
-#log4j.logger.org.alfresco.smb.protocol.auth=debug
-#log4j.logger.org.alfresco.acegi=debug
-
-# FTP server debugging
-log4j.logger.org.alfresco.ftp.protocol=error
-#log4j.logger.org.alfresco.ftp.server=debug
-
-# WebDAV debugging
-#log4j.logger.org.alfresco.webdav.protocol=debug
-log4j.logger.org.alfresco.webdav.protocol=info
-
-# NTLM servlet filters
-#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
-#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
-
-# Kerberos servlet filters
-#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
-#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
-
-# File servers
-log4j.logger.org.alfresco.fileserver=warn
-
-# Repo filesystem debug logging
-#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
-
-# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
-log4j.logger.org.alfresco.repo.node.integrity=ERROR
-
-# Indexer debugging
-log4j.logger.org.alfresco.repo.search.Indexer=error
-#log4j.logger.org.alfresco.repo.search.Indexer=debug
-
-log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
-log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
-#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
-
-# Audit debugging
-# log4j.logger.org.alfresco.repo.audit=DEBUG
-# log4j.logger.org.alfresco.repo.audit.model=DEBUG
-
-# Property sheet and modelling debugging
-# change to error to hide the warnings about missing properties and associations
-log4j.logger.alfresco.missingProperties=warn
-
-# Dictionary/Model debugging
-log4j.logger.org.alfresco.repo.dictionary=warn
-log4j.logger.org.alfresco.repo.dictionary.types.period=warn
-
-# Virtualization Server Registry
-log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
-
-# Spring context runtime property setter
-log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
-
-# Debugging options for clustering
-log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
-log4j.logger.org.alfresco.repo.content.replication=error
-
-#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
-
-# Activity service
-log4j.logger.org.alfresco.repo.activities=warn
-
-# User usage tracking
-log4j.logger.org.alfresco.repo.usage=info
-
-# Sharepoint
-log4j.logger.org.alfresco.module.vti=info
-
-# Forms Engine
-log4j.logger.org.alfresco.web.config.forms=info
-log4j.logger.org.alfresco.web.scripts.forms=info
-
-# CMIS
-log4j.logger.org.alfresco.opencmis=error
-log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
-log4j.logger.org.alfresco.cmis=error
-log4j.logger.org.alfresco.cmis.dictionary=warn
-log4j.logger.org.apache.chemistry.opencmis=info
-log4j.logger.org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet=OFF
-log4j.logger.org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet=OFF
-
-# IMAP
-log4j.logger.org.alfresco.repo.imap=info
-
-# JBPM
-# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
-log4j.logger.org.jbpm.graph.def.GraphElement=fatal
-
-#log4j.logger.org.alfresco.repo.googledocs=debug
-
-
-# Web Framework
-log4j.logger.org.springframework.extensions.webscripts=info
-log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
-log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
-
-# Repository
-log4j.logger.org.alfresco.repo.web.scripts=warn
-log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
-log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
-log4j.logger.org.alfresco.repo.jscript=error
-log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
-log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
-
-log4j.logger.org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl=off
-log4j.logger.org.alfresco.repo.domain.schema.script.ScriptExecutorImpl=info
-
-log4j.logger.org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl=info
-
-# Bulk Filesystem Import Tool
-log4j.logger.org.alfresco.repo.bulkimport=warn
-
-# Freemarker
-# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
-log4j.logger.freemarker.runtime=
-
-# Metadata extraction
-log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
-
-# Reduces PDFont error level due to ALF-7105
-log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
-log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
-log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
-
-# no index support
-log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
-log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
-
-# lucene index warnings
-log4j.logger.org.alfresco.repo.search.impl.lucene.index.IndexInfo=warn
-
-# Warn about RMI socket bind retries.
-log4j.logger.org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory=warn
-
-log4j.logger.org.alfresco.repo.usage.RepoUsageMonitor=info
-
-# Authorization
-log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationService=info
-log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor=warn
-
-#-----------------------------------------------------------------------
-# Platform module logging
-#-----------------------------------------------------------------------
-log4j.logger.${package}.platformsample.DemoComponent=debug
-log4j.logger.${package}.platformsample.HelloWorldWebScript=debug
-
-
-
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/dev-log4j2.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/dev-log4j2.properties
new file mode 100644
index 00000000..4ae95024
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-docker/src/main/docker/dev-log4j2.properties
@@ -0,0 +1,427 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+# Set root logger level to error
+#log4j2.rootLogger=error, Console, File
+rootLogger.level=error
+rootLogger.appenderRef.stdout.ref=ConsoleAppender
+rootLogger.appenderRef.rolling.ref=RollingAppender
+
+
+# All outputs currently set to be a ConsoleAppender.
+appender.console.type=Console
+appender.console.name=ConsoleAppender
+appender.console.layout.type=PatternLayout
+appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
+
+# use log4j NDC to replace %x with tenant domain / username
+appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
+
+# File appender definition #
+appender.rolling.type=RollingFile
+appender.rolling.name=RollingAppender
+appender.rolling.fileName=alfresco.log
+appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
+appender.rolling.layout.type=PatternLayout
+appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
+appender.rolling.policies.type = Policies
+appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
+appender.rolling.policies.time.interval = 1
+
+# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4J2HierarchyInit)
+# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
+# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
+# Log4j2 addLoggerMBean as long as the logger exists and has been loaded.
+
+# Hibernate
+logger.hibernate.name=org.hibernate
+logger.hibernate.level=error
+
+logger.hibernate-util-JDBCExceptionReporter.name=org.hibernate.util.JDBCExceptionReporter
+logger.hibernate-util-JDBCExceptionReporter.level=fatal
+
+logger.hibernate-event-def-AbstractFlushingEventListener.name=org.hibernate.event.def.AbstractFlushingEventListener
+logger.hibernate-event-def-AbstractFlushingEventListener.level=fatal
+
+logger.hibernate-type.name=org.hibernate.type
+logger.hibernate-type.level=warn
+
+logger.hibernate-cfg-SettingsFactory.name=org.hibernate.cfg.SettingsFactory
+logger.hibernate-cfg-SettingsFactory.level=warn
+
+# Spring
+logger.springframework.name=org.springframework
+logger.springframework.level=warn
+# Turn off Spring remoting warnings that should really be info or debug.
+logger.springframework-remoting-support.name=org.springframework.remoting.support
+logger.springframework-remoting-support.level=error
+
+logger.springframework-util.name=org.springframework.util
+logger.springframework-util.level=error
+
+# Axis/WSS4J
+logger.apache-axis.name=org.apache.axis
+logger.apache-axis.level=info
+
+logger.apache-ws.name=org.apache.ws
+logger.apache-ws.level=info
+
+# CXF
+logger.apache-cxf.name=org.apache.cxf
+logger.apache-cxf.level=error
+
+# MyFaces
+logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
+logger.apache-myfaces-util-DebugUtils.level=info
+
+logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
+logger.apache-myfaces-el-VariableResolverImpl.level=error
+
+logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
+logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
+
+logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
+logger.apache-myfaces-taglib.level=error
+
+# OpenOfficeConnection
+logger.sf-jooreports-openoffice-connection.name=net.sf.jooreports.openoffice.connection
+logger.sf-jooreports-openoffice-connection.level=fatal
+
+# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
+
+# Alfresco
+logger.alfresco.name=org.alfresco
+logger.alfresco.level=error
+
+logger.alfresco-repo-admin.name=org.alfresco.repo.admin
+logger.alfresco-repo-admin.level=info
+
+logger.alfresco-repo-transaction.name=org.alfresco.repo.transaction
+logger.alfresco-repo-transaction.level=warn
+
+logger.alfresco-repo-cache-TransactionalCache.name=org.alfresco.repo.cache.TransactionalCache
+logger.alfresco-repo-cache-TransactionalCache.level=warn
+
+logger.alfresco-repo-model-filefolder.name=org.alfresco.repo.model.filefolder
+logger.alfresco-repo-model-filefolder.level=warn
+
+logger.alfresco-repo-tenant.name=org.alfresco.repo.tenant
+logger.alfresco-repo-tenant.level=info
+
+logger.alfresco-config.name=org.alfresco.config
+logger.alfresco-config.level=warn
+
+logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
+logger.alfresco-config-JndiObjectFactoryBean.level=warn
+
+logger.alfresco-config-JBossEnabledWebApplicationContext.name=org.alfresco.config.JBossEnabledWebApplicationContext
+logger.alfresco-config-JBossEnabledWebApplicationContext.level=warn
+
+logger.alfresco-repo-management-subsystems.name=org.alfresco.repo.management.subsystems
+logger.alfresco-repo-management-subsystems.level=warn
+
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.level=info
+
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.level=warn
+
+logger.alfresco-repo-security-sync.name=org.alfresco.repo.security.sync
+logger.alfresco-repo-security-sync.level=info
+
+logger.alfresco-repo-security-person.name=org.alfresco.repo.security.person
+logger.alfresco-repo-security-person.level=info
+
+logger.alfresco-sample.name=org.alfresco.sample
+logger.alfresco-sample.level=info
+
+logger.alfresco-web.name=org.alfresco.web
+logger.alfresco-web.level=info
+
+logger.alfresco-service-descriptor-DescriptorService.name=org.alfresco.service.descriptor.DescriptorService
+logger.alfresco-service-descriptor-DescriptorService.level=info
+
+logger.alfresco-repo-importer-ImporterBootstrap.name=org.alfresco.repo.importer.ImporterBootstrap
+logger.alfresco-repo-importer-ImporterBootstrap.level=error
+#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
+
+log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
+log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
+
+# Specific patches
+logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.name=org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch
+logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.level=info
+
+logger.alfresco-repo-version-VersionMigrator.name=org.alfresco.repo.version.VersionMigrator
+logger.alfresco-repo-version-VersionMigrator.level=info
+
+logger.alfresco-repo-module-ModuleServiceImpl.name=org.alfresco.repo.module.ModuleServiceImpl
+logger.alfresco-repo-module-ModuleServiceImpl.level=info
+
+logger.alfresco-repo-domain-schema-SchemaBootstrap.name=org.alfresco.repo.domain.schema.SchemaBootstrap
+logger.alfresco-repo-domain-schema-SchemaBootstrap.level=info
+
+logger.alfresco-repo-admin-ConfigurationChecker.name=org.alfresco.repo.admin.ConfigurationChecker
+logger.alfresco-repo-admin-ConfigurationChecker.level=info
+
+logger.alfresco-repo-node-index-AbstractReindexComponent.name=org.alfresco.repo.node.index.AbstractReindexComponent
+logger.alfresco-repo-node-index-AbstractReindexComponent.level=warn
+
+logger.alfresco-repo-node-index-IndexTransactionTracker.name=org.alfresco.repo.node.index.IndexTransactionTracker
+logger.alfresco-repo-node-index-IndexTransactionTracker.level=warn
+
+logger.alfresco-repo-node-index-FullIndexRecoveryComponent.name=org.alfresco.repo.node.index.FullIndexRecoveryComponent
+logger.alfresco-repo-node-index-FullIndexRecoveryComponent.level=info
+
+#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.name=org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl
+#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.level=warn
+
+logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.name=org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor
+logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.level=warn
+
+logger.alfresco-repo-transaction-RetryingTransactionHelper.name=org.alfresco.repo.transaction.RetryingTransactionHelper
+logger.alfresco-repo-transaction-RetryingTransactionHelper.level=warn
+
+logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.name=org.alfresco.util.transaction.SpringAwareUserTransaction.trace
+logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.level=warn
+
+logger.alfresco-util-AbstractTriggerBean.name=org.alfresco.util.AbstractTriggerBean
+logger.alfresco-util-AbstractTriggerBean.level=warn
+
+logger.alfresco-enterprise-repo-cluster.name=org.alfresco.enterprise.repo.cluster
+logger.alfresco-enterprise-repo-cluster.level=info
+
+logger.alfresco-repo-version-Version2ServiceImpl.name=org.alfresco.repo.version.Version2ServiceImpl
+logger.alfresco-repo-version-Version2ServiceImpl.level=warn
+
+#logger.alfresco-web-app-DebugPhaseListener.name=org.alfresco.web.app.DebugPhaseListener
+#logger.alfresco-web-app-DebugPhaseListener.level=debug
+
+logger.alfresco-repo-node-db-NodeStringLengthWorker.name=org.alfresco.repo.node.db.NodeStringLengthWorker
+logger.alfresco-repo-node-db-NodeStringLengthWorker.level=info
+
+logger.alfresco-repo-workflow.name=org.alfresco.repo.workflow
+logger.alfresco-repo-workflow.level=info
+
+# CIFS server debugging
+logger.alfresco-smb.protocol.name=org.alfresco.smb.protocol
+logger.alfresco-smb.protocol.level=error
+
+# FTP server debugging
+logger.alfresco-ftp-protocol.name=org.alfresco.ftp.protocol
+logger.alfresco-ftp-protocol.level=error
+
+# WebDAV debugging
+logger.alfresco-webdav-protocol.name=org.alfresco.webdav.protocol
+logger.alfresco-webdav-protocol.level=info
+
+# NTLM servlet filters
+#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
+#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
+
+# Kerberos servlet filters
+#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
+#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
+
+# File servers
+logger.alfresco-fileserver.name=org.alfresco.fileserver
+logger.alfresco-fileserver.level=warn
+
+# Repo filesystem debug logging
+#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
+
+# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
+logger.alfresco-repo-node-integrity.name=org.alfresco.repo.node.integrity
+logger.alfresco-repo-node-integrity.level=error
+
+# Indexer debugging
+logger.alfresco-repo-search-Indexer.name=org.alfresco.repo.search.Indexer
+logger.alfresco-repo-search-Indexer.level=error
+
+logger.alfresco-repo-search-impl-lucene-index.name=org.alfresco.repo.search.impl.lucene.index
+logger.alfresco-repo-search-impl-lucene-index.level=error
+
+logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.name=org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl
+logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.level=warn
+
+# Audit debugging
+# log4j.logger.org.alfresco.repo.audit=DEBUG
+# log4j.logger.org.alfresco.repo.audit.model=DEBUG
+
+# Property sheet and modelling debugging
+# change to error to hide the warnings about missing properties and associations
+logger.missingProperties.name=alfresco.missingProperties
+logger.missingProperties.level=warn
+
+# Dictionary/Model debugging
+logger.alfresco-repo-dictionary.name=org.alfresco.repo.dictionary
+logger.alfresco-repo-dictionary.level=warn
+
+# Virtualization Server Registry
+logger.alfresco-mbeans-VirtServerRegistry.name=org.alfresco.mbeans.VirtServerRegistry
+logger.alfresco-mbeans-VirtServerRegistry.level=error
+
+# Spring context runtime property setter
+logger.alfresco-util-RuntimeSystemPropertiesSetter.name=org.alfresco.util.RuntimeSystemPropertiesSetter
+logger.alfresco-util-RuntimeSystemPropertiesSetter.level=info
+
+# Debugging options for clustering
+logger.alfresco-repo-content-ReplicatingContentStore.name=org.alfresco.repo.content.ReplicatingContentStore
+logger.alfresco-repo-content-ReplicatingContentStore.level=error
+
+logger.alfresco-repo-content-replication.name=org.alfresco.repo.content.replication
+logger.alfresco-repo-content-replication.level=error
+
+#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
+
+# Activity service
+logger.alfresco-repo-activities.name=org.alfresco.repo.activities
+logger.alfresco-repo-activities.level=warn
+
+# User usage tracking
+logger.alfresco-repo-usage.name=org.alfresco.repo.usage
+logger.alfresco-repo-usage.level=info
+
+# Sharepoint
+logger.alfresco-module-vti.name=org.alfresco.module.vti
+logger.alfresco-module-vti.level=info
+
+# Forms Engine
+logger.alfresco-web-config-forms.name=org.alfresco.web.config.forms
+logger.alfresco-web-config-forms.level=info
+
+logger.alfresco-web-scripts-forms.name=org.alfresco.web.scripts.forms
+logger.alfresco-web-scripts-forms.level=info
+
+# CMIS
+logger.alfresco-opencmis.name=org.alfresco.opencmis
+logger.alfresco-opencmis.level=error
+
+logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.name=org.alfresco.opencmis.AlfrescoCmisServiceInterceptor
+logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.level=error
+
+logger.alfresco-cmis.name=org.alfresco.cmis
+logger.alfresco-cmis.level=error
+
+logger.alfresco-cmis-dictionary.name=org.alfresco.cmis.dictionary
+logger.alfresco-cmis-dictionary.level=warn
+
+logger.apache-chemistry-opencmis.name=org.apache.chemistry.opencmis
+logger.apache-chemistry-opencmis.level=info
+
+logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.name=org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet
+logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.level=off
+
+logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.name=org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet
+logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.level=off
+
+# IMAP
+logger.alfresco-repo-imap.name=org.alfresco.repo.imap
+logger.alfresco-repo-imap.level=info
+
+# JBPM
+# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
+logger.jbpm-graph-def-GraphElement.name=org.jbpm.graph.def.GraphElement
+logger.jbpm-graph-def-GraphElement.level=fatal
+
+# Web Framework
+logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
+logger.springframework-extensions-webscripts.level=info
+
+logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
+logger.springframework-extensions-webscripts-ScriptLogger.level=warn
+
+logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
+logger.springframework-extensions-webscripts-ScriptDebugger.level=off
+
+# Repository
+logger.alfresco-repo-web-scripts.name=org.alfresco.repo.web.scripts
+logger.alfresco-repo-web-scripts.level=warn
+
+logger.alfresco-repo-web-scripts-BaseWebScriptTest.name=org.alfresco.repo.web.scripts.BaseWebScriptTest
+logger.alfresco-repo-web-scripts-BaseWebScriptTest.level=info
+
+logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.name=org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger
+logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.level=off
+
+logger.alfresco-repo-jscript.name=org.alfresco.repo.jscript
+logger.alfresco-repo-jscript.level=error
+
+logger.alfresco-repo-jscript-ScriptLogger.name=org.alfresco.repo.jscript.ScriptLogger
+logger.alfresco-repo-jscript-ScriptLogger.level=warn
+
+logger.alfresco-repo-cmis-rest-CMISTest.name=org.alfresco.repo.cmis.rest.CMISTest
+logger.alfresco-repo-cmis-rest-CMISTest.level=info
+
+logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl
+logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.level=off
+
+logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptExecutorImpl
+logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.level=info
+
+logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.name=org.alfresco.repo.domain.schema.script.DeleteNotExistsExecutor
+logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.level=off
+
+logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.name=org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl
+logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.level=info
+
+
+# Bulk Filesystem Import Tool
+logger.alfresco-repo-bulkimport.name=org.alfresco.repo.bulkimport
+logger.alfresco-repo-bulkimport.level=warn
+
+# Freemarker
+# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
+logger.runtime.name=freemarker.runtime
+logger.runtime.level=
+
+# Metadata extraction
+logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.name=org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter
+logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.level=warn
+
+# Reduces PDFont error level due to ALF-7105
+logger.apache-pdfbox-pdmodel-font-PDSimpleFont.name=org.apache.pdfbox.pdmodel.font.PDSimpleFont
+logger.apache-pdfbox-pdmodel-font-PDSimpleFont.level=fatal
+
+logger.apache-pdfbox-pdmodel-font-PDFont.name=org.apache.pdfbox.pdmodel.font.PDFont
+logger.apache-pdfbox-pdmodel-font-PDFont=fatal
+
+logger.apache-pdfbox-pdmodel-font-PDCIDFont.name=org.apache.pdfbox.pdmodel.font.PDCIDFont
+logger.apache-pdfbox-pdmodel-font-PDCIDFont.level=fatal
+
+# no index support
+logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.name=org.alfresco.repo.search.impl.noindex.NoIndexIndexer
+logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.level=fatal
+
+logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.name=org.alfresco.repo.search.impl.noindex.NoIndexSearchService
+logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.level=fatal
+.
+
+# lucene index warnings
+logger.alfresco-repo-search-impl-lucene-index-IndexInfo.name=org.alfresco.repo.search.impl.lucene.index.IndexInfo
+logger.alfresco-repo-search-impl-lucene-index-IndexInfo.level=warn
+
+# Warn about RMI socket bind retries.
+logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.name=org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory
+logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.level=warn
+
+logger.alfresco-repo-usage-RepoUsageMonitor.name=org.alfresco.repo.usage.RepoUsageMonitor
+logger.alfresco-repo-usage-RepoUsageMonitor.level=info
+
+# Authorization
+logger.alfresco-enterprise-repo-authorization-AuthorizationService.name=org.alfresco.enterprise.repo.authorization.AuthorizationService
+logger.alfresco-enterprise-repo-authorization-AuthorizationService.level=info
+
+logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.name=org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor
+logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.level=warn
+
+#-----------------------------------------------------------------------
+# Platform module logging
+#-----------------------------------------------------------------------
+logger.${package}-platformsample-DemoComponent.name=${package}.platformsample.DemoComponent
+logger.${package}-platformsample-DemoComponent.level=debug
+logger.${package}-platformsample-HelloWorldWebScript.name=${package}.platformsample.HelloWorldWebScript
+logger.${package}-platformsample-HelloWorldWebScript.level=debug
+
+
+
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/assembly/amp.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/assembly/amp.xml
index 097775f0..238461ab 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/assembly/amp.xml
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/assembly/amp.xml
@@ -35,9 +35,9 @@
src/main/assembly/file-mapping.properties
false
-
+
- src/main/resources/alfresco/module/${project.artifactId}/log4j.properties
+ src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties
false
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/resources/alfresco/module/__artifactId__/log4j.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/resources/alfresco/module/__artifactId__/log4j.properties
deleted file mode 100644
index 29523b48..00000000
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/resources/alfresco/module/__artifactId__/log4j.properties
+++ /dev/null
@@ -1 +0,0 @@
-# Add here module-specific custom log4j.properties configuration
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/resources/alfresco/module/__artifactId__/log4j2.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/resources/alfresco/module/__artifactId__/log4j2.properties
new file mode 100644
index 00000000..5bb2a367
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform/src/main/resources/alfresco/module/__artifactId__/log4j2.properties
@@ -0,0 +1 @@
+# Add here module-specific custom log4j2.properties configuration
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/Dockerfile b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/Dockerfile
index 5fb756f9..0865b17a 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/Dockerfile
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/Dockerfile
@@ -12,5 +12,5 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
COPY share-config-custom.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension
-COPY log4j.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
+COPY log4j2.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/log4j.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/log4j.properties
deleted file mode 100644
index 3e1b47a7..00000000
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/log4j.properties
+++ /dev/null
@@ -1,57 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-# Set root logger level to error
-log4j.rootLogger=error, Console, File
-
-# Console appender definition #
-
-# All outputs currently set to be a ConsoleAppender.
-log4j.appender.Console=org.apache.log4j.ConsoleAppender
-log4j.appender.Console.layout=org.apache.log4j.PatternLayout
-
-# use log4j NDC to replace %x with tenant domain / username
-log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
-#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
-
-# File appender definition #
-log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.File.File=share.log
-log4j.appender.File.Append=true
-log4j.appender.File.DatePattern='.'yyyy-MM-dd
-log4j.appender.File.layout=org.apache.log4j.PatternLayout
-log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
-
-# Spring
-log4j.logger.org.springframework=warn
-# Turn off Spring remoting warnings that should really be info or debug.
-log4j.logger.org.springframework.remoting.support=error
-log4j.logger.org.springframework.util=error
-
-# MyFaces
-log4j.logger.org.apache.myfaces.util.DebugUtils=info
-log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
-log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
-log4j.logger.org.apache.myfaces.taglib=error
-
-# Alfresco
-log4j.logger.org.alfresco=error
-log4j.logger.org.alfresco.config=warn
-log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
-log4j.logger.org.alfresco.web=info
-
-# Web Framework
-log4j.logger.org.springframework.extensions.webscripts=info
-log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
-log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
-
-# Freemarker
-# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
-log4j.logger.freemarker.runtime=
-
-#-----------------------------------------------------------------------
-# Custom Share module logging goes here...
-#-----------------------------------------------------------------------
-
-
-
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/log4j2.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/log4j2.properties
new file mode 100644
index 00000000..92fa424b
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-docker/src/main/docker/log4j2.properties
@@ -0,0 +1,89 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+# Set root logger level to error
+#log4j.rootLogger=error, Console, File
+rootLogger.level=error
+rootLogger.appenderRef.stdout.ref=ConsoleAppender
+rootLogger.appenderRef.rolling.ref=RollingAppender
+
+# Console appender definition #
+
+# All outputs currently set to be a ConsoleAppender.
+appender.console.type=Console
+appender.console.name=ConsoleAppender
+appender.console.layout.type=PatternLayout
+appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
+
+# use log4j NDC to replace %x with tenant domain / username
+appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
+
+# File appender definition #
+appender.rolling.type=RollingFile
+appender.rolling.name=RollingAppender
+appender.rolling.fileName=alfresco.log
+appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
+appender.rolling.layout.type=PatternLayout
+appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
+appender.rolling.policies.type = Policies
+appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
+appender.rolling.policies.time.interval = 1
+
+# Spring
+logger.springframework.name=org.springframework
+logger.springframework.level=warn
+
+# Turn off Spring remoting warnings that should really be info or debug.
+logger.springframework-remoting-support.name=org.springframework.remoting.support
+logger.springframework-remoting-support.level=error
+
+logger.springframework-util.name=org.springframework.util
+logger.springframework-util.level=error
+
+# MyFaces
+logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
+logger.apache-myfaces-util-DebugUtils.level=info
+
+logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
+logger.apache-myfaces-el-VariableResolverImpl.level=error
+
+logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
+logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
+
+logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
+logger.apache-myfaces-taglib.level=error
+
+# Alfresco
+logger.alfresco.name=org.alfresco
+logger.alfresco.level=error
+
+logger.alfresco-config.name=org.alfresco.config
+logger.alfresco-config.level=warn
+
+logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
+logger.alfresco-config-JndiObjectFactoryBean.level=warn
+
+logger.alfresco-web.name=org.alfresco.web
+logger.alfresco-web.level=info
+
+# Web Framework
+logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
+logger.springframework-extensions-webscripts.level=info
+
+logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
+logger.springframework-extensions-webscripts-ScriptLogger.level=warn
+
+logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
+logger.springframework-extensions-webscripts-ScriptDebugger.level=off
+
+# Freemarker
+# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
+logger.freemarker-runtime.name=freemarker.runtime
+logger.freemarker-runtime.level=
+
+#-----------------------------------------------------------------------
+# Custom Share module logging goes here...
+#-----------------------------------------------------------------------
+
+
+
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/assembly/amp.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/assembly/amp.xml
index 9917d7ba..eaa8613f 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/assembly/amp.xml
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/assembly/amp.xml
@@ -35,9 +35,9 @@
src/main/assembly/file-mapping.properties
false
-
+
- src/main/resources/alfresco/module/${project.artifactId}/log4j.properties
+ src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties
false
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/resources/alfresco/module/__artifactId__/log4j.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/resources/alfresco/module/__artifactId__/log4j.properties
deleted file mode 100644
index 29523b48..00000000
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/resources/alfresco/module/__artifactId__/log4j.properties
+++ /dev/null
@@ -1 +0,0 @@
-# Add here module-specific custom log4j.properties configuration
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/resources/alfresco/module/__artifactId__/log4j2.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/resources/alfresco/module/__artifactId__/log4j2.properties
new file mode 100644
index 00000000..5bb2a367
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share/src/main/resources/alfresco/module/__artifactId__/log4j2.properties
@@ -0,0 +1 @@
+# Add here module-specific custom log4j2.properties configuration
\ No newline at end of file
diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/assembly/amp.xml b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/assembly/amp.xml
index 447a6458..77b457bd 100644
--- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/assembly/amp.xml
+++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/assembly/amp.xml
@@ -35,9 +35,9 @@
src/main/assembly/file-mapping.properties
false
-
+
- src/main/resources/alfresco/module/${project.artifactId}/log4j.properties
+ src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties
false
diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/Dockerfile b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/Dockerfile
index f0a68fc7..b5a25974 100644
--- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/Dockerfile
+++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/Dockerfile
@@ -14,7 +14,7 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
$TOMCAT_DIR/amps $TOMCAT_DIR/webapps/alfresco -directory -nobackup -force
COPY alfresco-global.properties $TOMCAT_DIR/shared/classes/alfresco-global.properties
-COPY dev-log4j.properties $TOMCAT_DIR/shared/classes/alfresco/extension
+COPY dev-log4j2.properties $TOMCAT_DIR/shared/classes/alfresco/extension
COPY disable-webscript-caching-context.xml $TOMCAT_DIR/shared/classes/alfresco/extension
# Copy Dockerfile to avoid an error if no license file exists
diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/dev-log4j.properties b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/dev-log4j.properties
deleted file mode 100644
index d7cf832e..00000000
--- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/dev-log4j.properties
+++ /dev/null
@@ -1,270 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-# Set root logger level to error
-log4j.rootLogger=error, Console, File
-
-
-# All outputs currently set to be a ConsoleAppender.
-log4j.appender.Console=org.apache.log4j.ConsoleAppender
-log4j.appender.Console.layout=org.apache.log4j.PatternLayout
-
-# use log4j NDC to replace %x with tenant domain / username
-log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
-#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
-
-log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.File.File=logs/alfresco.log
-log4j.appender.File.Append=true
-log4j.appender.File.DatePattern='.'yyyy-MM-dd
-log4j.appender.File.layout=org.apache.log4j.PatternLayout
-log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
-
-#log4j.appender.file=org.apache.log4j.FileAppender
-#log4j.appender.file.File=hibernate.log
-#log4j.appender.file.layout=org.apache.log4j.PatternLayout
-#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
-
-
-# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
-# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
-# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
-# Log4j addLoggerMBean as long as the logger exists and has been loaded.
-
-# Hibernate
-log4j.logger.org.hibernate=error
-log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
-log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
-log4j.logger.org.hibernate.type=warn
-log4j.logger.org.hibernate.cfg.SettingsFactory=warn
-
-# Spring
-log4j.logger.org.springframework=warn
-# Turn off Spring remoting warnings that should really be info or debug.
-log4j.logger.org.springframework.remoting.support=error
-log4j.logger.org.springframework.util=error
-
-# Axis/WSS4J
-log4j.logger.org.apache.axis=info
-log4j.logger.org.apache.ws=info
-
-# CXF
-log4j.logger.org.apache.cxf=error
-
-# MyFaces
-log4j.logger.org.apache.myfaces.util.DebugUtils=info
-log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
-log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
-log4j.logger.org.apache.myfaces.taglib=error
-
-# OpenOfficeConnection
-log4j.logger.net.sf.jooreports.openoffice.connection=fatal
-
-# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
-
-# Alfresco
-log4j.logger.org.alfresco=error
-log4j.logger.org.alfresco.repo.admin=info
-log4j.logger.org.alfresco.repo.transaction=warn
-log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
-log4j.logger.org.alfresco.repo.model.filefolder=warn
-log4j.logger.org.alfresco.repo.tenant=info
-log4j.logger.org.alfresco.config=warn
-log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
-log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
-log4j.logger.org.alfresco.repo.management.subsystems=warn
-log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
-log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
-log4j.logger.org.alfresco.repo.security.sync=info
-log4j.logger.org.alfresco.repo.security.person=info
-
-log4j.logger.org.alfresco.sample=info
-log4j.logger.org.alfresco.web=info
-#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
-#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
-#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
-#log4j.logger.org.alfresco.web.bean.clipboard=debug
-log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
-#log4j.logger.org.alfresco.web.page=debug
-
-log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
-#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
-
-log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
-log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
-
-# Specific patches
-log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
-log4j.logger.org.alfresco.repo.version.VersionMigrator=info
-
-log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
-log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
-log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
-log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
-log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
-log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
-log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
-log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
-log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
-log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
-log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
-log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
-log4j.logger.org.alfresco.enterprise.repo.cluster=info
-log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
-
-#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
-log4j.logger.org.alfresco.repo.node.db.NodeStringLengthWorker=info
-
-log4j.logger.org.alfresco.repo.workflow=info
-
-# CIFS server debugging
-log4j.logger.org.alfresco.smb.protocol=error
-#log4j.logger.org.alfresco.smb.protocol.auth=debug
-#log4j.logger.org.alfresco.acegi=debug
-
-# FTP server debugging
-log4j.logger.org.alfresco.ftp.protocol=error
-#log4j.logger.org.alfresco.ftp.server=debug
-
-# WebDAV debugging
-#log4j.logger.org.alfresco.webdav.protocol=debug
-log4j.logger.org.alfresco.webdav.protocol=info
-
-# NTLM servlet filters
-#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
-#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
-
-# Kerberos servlet filters
-#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
-#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
-
-# File servers
-log4j.logger.org.alfresco.fileserver=warn
-
-# Repo filesystem debug logging
-#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
-
-# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
-log4j.logger.org.alfresco.repo.node.integrity=ERROR
-
-# Indexer debugging
-log4j.logger.org.alfresco.repo.search.Indexer=error
-#log4j.logger.org.alfresco.repo.search.Indexer=debug
-
-log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
-log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
-#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
-
-# Audit debugging
-# log4j.logger.org.alfresco.repo.audit=DEBUG
-# log4j.logger.org.alfresco.repo.audit.model=DEBUG
-
-# Property sheet and modelling debugging
-# change to error to hide the warnings about missing properties and associations
-log4j.logger.alfresco.missingProperties=warn
-
-# Dictionary/Model debugging
-log4j.logger.org.alfresco.repo.dictionary=warn
-log4j.logger.org.alfresco.repo.dictionary.types.period=warn
-
-# Virtualization Server Registry
-log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
-
-# Spring context runtime property setter
-log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
-
-# Debugging options for clustering
-log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
-log4j.logger.org.alfresco.repo.content.replication=error
-
-#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
-
-# Activity service
-log4j.logger.org.alfresco.repo.activities=warn
-
-# User usage tracking
-log4j.logger.org.alfresco.repo.usage=info
-
-# Sharepoint
-log4j.logger.org.alfresco.module.vti=info
-
-# Forms Engine
-log4j.logger.org.alfresco.web.config.forms=info
-log4j.logger.org.alfresco.web.scripts.forms=info
-
-# CMIS
-log4j.logger.org.alfresco.opencmis=error
-log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
-log4j.logger.org.alfresco.cmis=error
-log4j.logger.org.alfresco.cmis.dictionary=warn
-log4j.logger.org.apache.chemistry.opencmis=info
-log4j.logger.org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet=OFF
-log4j.logger.org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet=OFF
-
-# IMAP
-log4j.logger.org.alfresco.repo.imap=info
-
-# JBPM
-# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
-log4j.logger.org.jbpm.graph.def.GraphElement=fatal
-
-#log4j.logger.org.alfresco.repo.googledocs=debug
-
-
-# Web Framework
-log4j.logger.org.springframework.extensions.webscripts=info
-log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
-log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
-
-# Repository
-log4j.logger.org.alfresco.repo.web.scripts=warn
-log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
-log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
-log4j.logger.org.alfresco.repo.jscript=error
-log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
-log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
-
-log4j.logger.org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl=off
-log4j.logger.org.alfresco.repo.domain.schema.script.ScriptExecutorImpl=info
-
-log4j.logger.org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl=info
-
-# Bulk Filesystem Import Tool
-log4j.logger.org.alfresco.repo.bulkimport=warn
-
-# Freemarker
-# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
-log4j.logger.freemarker.runtime=
-
-# Metadata extraction
-log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
-
-# Reduces PDFont error level due to ALF-7105
-log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
-log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
-log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
-
-# no index support
-log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
-log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
-
-# lucene index warnings
-log4j.logger.org.alfresco.repo.search.impl.lucene.index.IndexInfo=warn
-
-# Warn about RMI socket bind retries.
-log4j.logger.org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory=warn
-
-log4j.logger.org.alfresco.repo.usage.RepoUsageMonitor=info
-
-# Authorization
-log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationService=info
-log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor=warn
-
-#-----------------------------------------------------------------------
-# Platform module logging
-#-----------------------------------------------------------------------
-log4j.logger.${package}.platformsample.DemoComponent=debug
-log4j.logger.${package}.platformsample.HelloWorldWebScript=debug
-
-
-
diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/dev-log4j2.properties b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/dev-log4j2.properties
new file mode 100644
index 00000000..77dbf0cf
--- /dev/null
+++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/docker/dev-log4j2.properties
@@ -0,0 +1,426 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+# Set root logger level to error
+#log4j.rootLogger=error, Console, File
+rootLogger.level=error
+rootLogger.appenderRef.stdout.ref=ConsoleAppender
+rootLogger.appenderRef.rolling.ref=RollingAppender
+
+# All outputs currently set to be a ConsoleAppender.
+appender.console.type=Console
+appender.console.name=ConsoleAppender
+appender.console.layout.type=PatternLayout
+appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
+
+# use log4j NDC to replace %x with tenant domain / username
+appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
+
+# File appender definition #
+appender.rolling.type=RollingFile
+appender.rolling.name=RollingAppender
+appender.rolling.fileName=alfresco.log
+appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
+appender.rolling.layout.type=PatternLayout
+appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
+appender.rolling.policies.type = Policies
+appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
+appender.rolling.policies.time.interval = 1
+
+# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
+# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
+# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
+# Log4j addLoggerMBean as long as the logger exists and has been loaded.
+
+# Hibernate
+logger.hibernate.name=org.hibernate
+logger.hibernate.level=error
+
+logger.hibernate-util-JDBCExceptionReporter.name=org.hibernate.util.JDBCExceptionReporter
+logger.hibernate-util-JDBCExceptionReporter.level=fatal
+
+logger.hibernate-event-def-AbstractFlushingEventListener.name=org.hibernate.event.def.AbstractFlushingEventListener
+logger.hibernate-event-def-AbstractFlushingEventListener.level=fatal
+
+logger.hibernate-type.name=org.hibernate.type
+logger.hibernate-type.level=warn
+
+logger.hibernate-cfg-SettingsFactory.name=org.hibernate.cfg.SettingsFactory
+logger.hibernate-cfg-SettingsFactory.level=warn
+
+# Spring
+logger.springframework.name=org.springframework
+logger.springframework.level=warn
+
+# Turn off Spring remoting warnings that should really be info or debug.
+logger.springframework-remoting-support.name=org.springframework.remoting.support
+logger.springframework-remoting-support.level=error
+
+logger.springframework-util.name=org.springframework.util
+logger.springframework-util.level=error
+
+# Axis/WSS4J
+logger.apache-axis.name=org.apache.axis
+logger.apache-axis.level=info
+
+logger.apache-ws.name=org.apache.ws
+logger.apache-ws.level=info
+
+# CXF
+logger.apache-cxf.name=org.apache.cxf
+logger.apache-cxf.level=error
+
+# MyFaces
+logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
+logger.apache-myfaces-util-DebugUtils.level=info
+
+logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
+logger.apache-myfaces-el-VariableResolverImpl.level=error
+
+logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
+logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
+
+logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
+logger.apache-myfaces-taglib.level=error
+
+# OpenOfficeConnection
+logger.sf-jooreports-openoffice-connection.name=net.sf.jooreports.openoffice.connection
+logger.sf-jooreports-openoffice-connection.level=fatal
+
+# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
+
+# Alfresco
+logger.alfresco.name=org.alfresco
+logger.alfresco.level=error
+
+logger.alfresco-repo-admin.name=org.alfresco.repo.admin
+logger.alfresco-repo-admin.level=info
+
+logger.alfresco-repo-transaction.name=org.alfresco.repo.transaction
+logger.alfresco-repo-transaction.level=warn
+
+logger.alfresco-repo-cache-TransactionalCache.name=org.alfresco.repo.cache.TransactionalCache
+logger.alfresco-repo-cache-TransactionalCache.level=warn
+
+logger.alfresco-repo-model-filefolder.name=org.alfresco.repo.model.filefolder
+logger.alfresco-repo-model-filefolder.level=warn
+
+logger.alfresco-repo-tenant.name=org.alfresco.repo.tenant
+logger.alfresco-repo-tenant.level=info
+
+logger.alfresco-config.name=org.alfresco.config
+logger.alfresco-config.level=warn
+
+logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
+logger.alfresco-config-JndiObjectFactoryBean.level=warn
+
+logger.alfresco-config-JBossEnabledWebApplicationContext.name=org.alfresco.config.JBossEnabledWebApplicationContext
+logger.alfresco-config-JBossEnabledWebApplicationContext.level=warn
+
+logger.alfresco-repo-management-subsystems.name=org.alfresco.repo.management.subsystems
+logger.alfresco-repo-management-subsystems.level=warn
+
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.level=info
+
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.level=warn
+
+logger.alfresco-repo-security-sync.name=org.alfresco.repo.security.sync
+logger.alfresco-repo-security-sync.level=info
+
+logger.alfresco-repo-security-person.name=org.alfresco.repo.security.person
+logger.alfresco-repo-security-person.level=info
+
+logger.alfresco-sample.name=org.alfresco.sample
+logger.alfresco-sample.level=info
+
+logger.alfresco-web.name=org.alfresco.web
+logger.alfresco-web.level=info
+
+logger.alfresco-service-descriptor-DescriptorService.name=org.alfresco.service.descriptor.DescriptorService
+logger.alfresco-service-descriptor-DescriptorService.level=info
+
+logger.alfresco-repo-importer-ImporterBootstrap.name=org.alfresco.repo.importer.ImporterBootstrap
+logger.alfresco-repo-importer-ImporterBootstrap.level=error
+
+logger.alfresco-repo-admin-patch-PatchExecuter.name=org.alfresco.repo.admin.patch.PatchExecuter
+logger.alfresco-repo-admin-patch-PatchExecuter.level=info
+
+logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.name=org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl
+logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.level=info
+
+# Specific patches
+logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.name=org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch
+logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.level=info
+
+logger.alfresco-repo-version-VersionMigrator.name=org.alfresco.repo.version.VersionMigrator
+logger.alfresco-repo-version-VersionMigrator.level=info
+
+logger.alfresco-repo-module-ModuleServiceImpl.name=org.alfresco.repo.module.ModuleServiceImpl
+logger.alfresco-repo-module-ModuleServiceImpl.level=info
+
+logger.alfresco-repo-domain-schema-SchemaBootstrap.name=org.alfresco.repo.domain.schema.SchemaBootstrap
+logger.alfresco-repo-domain-schema-SchemaBootstrap.level=info
+
+logger.alfresco-repo-admin-ConfigurationChecker.name=org.alfresco.repo.admin.ConfigurationChecker
+logger.alfresco-repo-admin-ConfigurationChecker.level=info
+
+logger.alfresco-repo-node-index-AbstractReindexComponent.name=org.alfresco.repo.node.index.AbstractReindexComponent
+logger.alfresco-repo-node-index-AbstractReindexComponent.level=warn
+
+logger.alfresco-repo-node-index-IndexTransactionTracker.name=org.alfresco.repo.node.index.IndexTransactionTracker
+logger.alfresco-repo-node-index-IndexTransactionTracker.level=warn
+
+logger.alfresco-repo-node-index-FullIndexRecoveryComponent.name=org.alfresco.repo.node.index.FullIndexRecoveryComponent
+logger.alfresco-repo-node-index-FullIndexRecoveryComponent.level=info
+
+#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.name=org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl
+#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.level=warn
+
+logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.name=org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor
+logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.level=warn
+
+logger.alfresco-repo-transaction-RetryingTransactionHelper.name=org.alfresco.repo.transaction.RetryingTransactionHelper
+logger.alfresco-repo-transaction-RetryingTransactionHelper.level=warn
+
+logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.name=org.alfresco.util.transaction.SpringAwareUserTransaction.trace
+logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.level=warn
+
+logger.alfresco-util-AbstractTriggerBean.name=org.alfresco.util.AbstractTriggerBean
+logger.alfresco-util-AbstractTriggerBean.level=warn
+
+logger.alfresco-enterprise-repo-cluster.name=org.alfresco.enterprise.repo.cluster
+logger.alfresco-enterprise-repo-cluster.level=info
+
+logger.alfresco-repo-version-Version2ServiceImpl.name=org.alfresco.repo.version.Version2ServiceImpl
+logger.alfresco-repo-version-Version2ServiceImpl.level=warn
+
+#logger.alfresco-web-app-DebugPhaseListener.name=org.alfresco.web.app.DebugPhaseListener
+#logger.alfresco-web-app-DebugPhaseListener.level=debug
+
+logger.alfresco-repo-node-db-NodeStringLengthWorker.name=org.alfresco.repo.node.db.NodeStringLengthWorker
+logger.alfresco-repo-node-db-NodeStringLengthWorker.level=info
+
+logger.alfresco-repo-workflow.name=org.alfresco.repo.workflow
+logger.alfresco-repo-workflow.level=info
+
+# CIFS server debugging
+logger.alfresco-smb.protocol.name=org.alfresco.smb.protocol
+logger.alfresco-smb.protocol.level=error
+
+# FTP server debugging
+logger.alfresco-ftp-protocol.name=org.alfresco.ftp.protocol
+logger.alfresco-ftp-protocol.level=error
+
+# WebDAV debugging
+logger.alfresco-webdav-protocol.name=org.alfresco.webdav.protocol
+logger.alfresco-webdav-protocol.level=info
+
+# NTLM servlet filters
+#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
+#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
+
+# Kerberos servlet filters
+#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
+#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
+
+# File servers
+logger.alfresco-fileserver.name=org.alfresco.fileserver
+logger.alfresco-fileserver.level=warn
+
+# Repo filesystem debug logging
+#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
+
+# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
+logger.alfresco-repo-node-integrity.name=org.alfresco.repo.node.integrity
+logger.alfresco-repo-node-integrity.level=error
+
+# Indexer debugging
+logger.alfresco-repo-search-Indexer.name=org.alfresco.repo.search.Indexer
+logger.alfresco-repo-search-Indexer.level=error
+
+logger.alfresco-repo-search-impl-lucene-index.name=org.alfresco.repo.search.impl.lucene.index
+logger.alfresco-repo-search-impl-lucene-index.level=error
+
+logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.name=org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl
+logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.level=warn
+
+# Audit debugging
+logger.missingProperties.name=alfresco.missingProperties
+logger.missingProperties.level=warn
+
+# Property sheet and modelling debugging
+logger.missingProperties.name=alfresco.missingProperties
+logger.missingProperties.level=warn
+
+# Dictionary/Model debugging
+logger.alfresco-repo-dictionary.name=org.alfresco.repo.dictionary
+logger.alfresco-repo-dictionary.level=warn
+
+logger.alfresco-repo-dictionary-types-period.name=org.alfresco.repo.dictionary.types.period
+logger.alfresco-repo-dictionary-types-period.level=warn
+
+# Virtualization Server Registry
+logger.alfresco-mbeans-VirtServerRegistry.name=org.alfresco.mbeans.VirtServerRegistry
+logger.alfresco-mbeans-VirtServerRegistry.level=error
+
+# Spring context runtime property setter
+logger.alfresco-util-RuntimeSystemPropertiesSetter.name=org.alfresco.util.RuntimeSystemPropertiesSetter
+logger.alfresco-util-RuntimeSystemPropertiesSetter.level=info
+
+# Debugging options for clustering
+logger.alfresco-repo-content-ReplicatingContentStore.name=org.alfresco.repo.content.ReplicatingContentStore
+logger.alfresco-repo-content-ReplicatingContentStore.level=error
+
+logger.alfresco-repo-content-replication.name=org.alfresco.repo.content.replication
+logger.alfresco-repo-content-replication.level=error
+
+# Activity service
+logger.alfresco-repo-activities.name=org.alfresco.repo.activities
+logger.alfresco-repo-activities.level=warn
+
+# User usage tracking
+logger.alfresco-repo-usage.name=org.alfresco.repo.usage
+logger.alfresco-repo-usage.level=info
+
+# Sharepoint
+logger.alfresco-module-vti.name=org.alfresco.module.vti
+logger.alfresco-module-vti.level=info
+
+# Forms Engine
+logger.alfresco-web-config-forms.name=org.alfresco.web.config.forms
+logger.alfresco-web-config-forms.level=info
+
+logger.alfresco-web-scripts-forms.name=org.alfresco.web.scripts.forms
+logger.alfresco-web-scripts-forms.level=info
+
+# CMIS
+logger.alfresco-opencmis.name=org.alfresco.opencmis
+logger.alfresco-opencmis.level=error
+
+logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.name=org.alfresco.opencmis.AlfrescoCmisServiceInterceptor
+logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.level=error
+
+logger.alfresco-cmis.name=org.alfresco.cmis
+logger.alfresco-cmis.level=error
+
+logger.alfresco-cmis-dictionary.name=org.alfresco.cmis.dictionary
+logger.alfresco-cmis-dictionary.level=warn
+
+logger.apache-chemistry-opencmis.name=org.apache.chemistry.opencmis
+logger.apache-chemistry-opencmis.level=info
+
+logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.name=org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet
+logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.level=off
+
+logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.name=org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet
+logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.level=off
+
+# IMAP
+logger.alfresco-repo-imap.name=org.alfresco.repo.imap
+logger.alfresco-repo-imap.level=info
+
+# JBPM
+# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
+logger.jbpm-graph-def-GraphElement.name=org.jbpm.graph.def.GraphElement
+logger.jbpm-graph-def-GraphElement.level=fatal
+
+
+# Web Framework
+logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
+logger.springframework-extensions-webscripts.level=info
+
+logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
+logger.springframework-extensions-webscripts-ScriptLogger.level=warn
+
+logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
+logger.springframework-extensions-webscripts-ScriptDebugger.level=off
+
+# Repository
+logger.alfresco-repo-web-scripts.name=org.alfresco.repo.web.scripts
+logger.alfresco-repo-web-scripts.level=warn
+
+logger.alfresco-repo-web-scripts-BaseWebScriptTest.name=org.alfresco.repo.web.scripts.BaseWebScriptTest
+logger.alfresco-repo-web-scripts-BaseWebScriptTest.level=info
+
+logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.name=org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger
+logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.level=off
+
+logger.alfresco-repo-jscript.name=org.alfresco.repo.jscript
+logger.alfresco-repo-jscript.level=error
+
+logger.alfresco-repo-jscript-ScriptLogger.name=org.alfresco.repo.jscript.ScriptLogger
+logger.alfresco-repo-jscript-ScriptLogger.level=warn
+
+logger.alfresco-repo-cmis-rest-CMISTest.name=org.alfresco.repo.cmis.rest.CMISTest
+logger.alfresco-repo-cmis-rest-CMISTest.level=info
+
+logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl
+logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.level=off
+
+logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptExecutorImpl
+logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.level=info
+
+logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.name=org.alfresco.repo.domain.schema.script.DeleteNotExistsExecutor
+logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.level=off
+
+logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.name=org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl
+logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.level=info
+
+# Bulk Filesystem Import Tool
+logger.alfresco-repo-bulkimport.name=org.alfresco.repo.bulkimport
+logger.alfresco-repo-bulkimport.level=warn
+
+# Freemarker
+# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
+logger.runtime.name=freemarker.runtime
+logger.runtime.level=
+
+# Metadata extraction
+logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.name=org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter
+logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.level=warn
+
+# Reduces PDFont error level due to ALF-7105
+logger.apache-pdfbox-pdmodel-font-PDSimpleFont.name=org.apache.pdfbox.pdmodel.font.PDSimpleFont
+logger.apache-pdfbox-pdmodel-font-PDSimpleFont.level=fatal
+logger.apache-pdfbox-pdmodel-font-PDFont.name=org.apache.pdfbox.pdmodel.font.PDFont
+logger.apache-pdfbox-pdmodel-font-PDFont=fatal
+logger.apache-pdfbox-pdmodel-font-PDCIDFont.name=org.apache.pdfbox.pdmodel.font.PDCIDFont
+logger.apache-pdfbox-pdmodel-font-PDCIDFont.level=fatal
+
+# no index support
+logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.name=org.alfresco.repo.search.impl.noindex.NoIndexIndexer
+logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.level=fatal
+
+logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.name=org.alfresco.repo.search.impl.noindex.NoIndexSearchService
+logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.level=fatal
+
+# lucene index warnings
+logger.alfresco-repo-search-impl-lucene-index-IndexInfo.name=org.alfresco.repo.search.impl.lucene.index.IndexInfo
+logger.alfresco-repo-search-impl-lucene-index-IndexInfo.level=warn
+
+# Warn about RMI socket bind retries.
+logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.name=org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory
+logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.level=warn
+
+logger.alfresco-repo-usage-RepoUsageMonitor.name=org.alfresco.repo.usage.RepoUsageMonitor
+logger.alfresco-repo-usage-RepoUsageMonitor.level=info
+
+# Authorization
+logger.alfresco-enterprise-repo-authorization-AuthorizationService.name=org.alfresco.enterprise.repo.authorization.AuthorizationService
+logger.alfresco-enterprise-repo-authorization-AuthorizationService.level=info
+
+logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.name=org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor
+logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.level=warn
+
+#-----------------------------------------------------------------------
+# Platform module logging
+#-----------------------------------------------------------------------
+logger.${package}-platformsample-DemoComponent.name=${package}.platformsample.DemoComponent
+logger.${package}-platformsample-DemoComponent.level=debug
+logger.${package}-platformsample-HelloWorldWebScript.name=${package}.platformsample.HelloWorldWebScript
+logger.${package}-platformsample-HelloWorldWebScript.level=debug
+
+
+
diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j.properties b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j.properties
deleted file mode 100644
index 29523b48..00000000
--- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j.properties
+++ /dev/null
@@ -1 +0,0 @@
-# Add here module-specific custom log4j.properties configuration
\ No newline at end of file
diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j2.properties b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j2.properties
new file mode 100644
index 00000000..5bb2a367
--- /dev/null
+++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j2.properties
@@ -0,0 +1 @@
+# Add here module-specific custom log4j2.properties configuration
\ No newline at end of file
diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/assembly/amp.xml b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/assembly/amp.xml
index b8bef443..85df64a6 100644
--- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/assembly/amp.xml
+++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/assembly/amp.xml
@@ -35,9 +35,9 @@
src/main/assembly/file-mapping.properties
false
-
+
- src/main/resources/alfresco/module/${project.artifactId}/log4j.properties
+ src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties
false
diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/Dockerfile b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/Dockerfile
index 5fb756f9..0865b17a 100644
--- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/Dockerfile
+++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/Dockerfile
@@ -12,5 +12,5 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
COPY share-config-custom.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension
-COPY log4j.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
+COPY log4j2.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/log4j.properties b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/log4j.properties
deleted file mode 100644
index 3e1b47a7..00000000
--- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/log4j.properties
+++ /dev/null
@@ -1,57 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-# Set root logger level to error
-log4j.rootLogger=error, Console, File
-
-# Console appender definition #
-
-# All outputs currently set to be a ConsoleAppender.
-log4j.appender.Console=org.apache.log4j.ConsoleAppender
-log4j.appender.Console.layout=org.apache.log4j.PatternLayout
-
-# use log4j NDC to replace %x with tenant domain / username
-log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
-#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
-
-# File appender definition #
-log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.File.File=share.log
-log4j.appender.File.Append=true
-log4j.appender.File.DatePattern='.'yyyy-MM-dd
-log4j.appender.File.layout=org.apache.log4j.PatternLayout
-log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
-
-# Spring
-log4j.logger.org.springframework=warn
-# Turn off Spring remoting warnings that should really be info or debug.
-log4j.logger.org.springframework.remoting.support=error
-log4j.logger.org.springframework.util=error
-
-# MyFaces
-log4j.logger.org.apache.myfaces.util.DebugUtils=info
-log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
-log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
-log4j.logger.org.apache.myfaces.taglib=error
-
-# Alfresco
-log4j.logger.org.alfresco=error
-log4j.logger.org.alfresco.config=warn
-log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
-log4j.logger.org.alfresco.web=info
-
-# Web Framework
-log4j.logger.org.springframework.extensions.webscripts=info
-log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
-log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
-
-# Freemarker
-# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
-log4j.logger.freemarker.runtime=
-
-#-----------------------------------------------------------------------
-# Custom Share module logging goes here...
-#-----------------------------------------------------------------------
-
-
-
diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/log4j2.properties b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/log4j2.properties
new file mode 100644
index 00000000..0614f9db
--- /dev/null
+++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/docker/log4j2.properties
@@ -0,0 +1,124 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+# Set root logger level to error
+#log4j.rootLogger=error, Console, File
+rootLogger.level=error
+rootLogger.appenderRef.stdout.ref=ConsoleAppender
+rootLogger.appenderRef.rolling.ref=RollingAppender
+
+# Console appender definition #
+
+# All outputs currently set to be a ConsoleAppender.
+appender.console.type=Console
+appender.console.name=ConsoleAppender
+appender.console.layout.type=PatternLayout
+
+# use log4j NDC to replace %x with tenant domain / username
+appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
+
+# File appender definition #
+appender.rolling.type=RollingFile
+appender.rolling.name=RollingAppender
+appender.rolling.fileName=alfresco.log
+appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
+appender.rolling.layout.type=PatternLayout
+appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
+appender.rolling.policies.type = Policies
+appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
+appender.rolling.policies.time.interval = 1
+
+# Spring
+logger.springframework.name=org.springframework
+logger.springframework.level=warn
+
+# Turn off Spring remoting warnings that should really be info or debug.
+logger.springframework-remoting-support.name=org.springframework.remoting.support
+logger.springframework-remoting-support.level=error
+
+logger.springframework-util.name=org.springframework.util
+logger.springframework-util.level=error
+
+# MyFaces
+logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
+logger.apache-myfaces-util-DebugUtils.level=info
+
+logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
+logger.apache-myfaces-el-VariableResolverImpl.level=error
+
+logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
+logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
+
+logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
+logger.apache-myfaces-taglib.level=error
+
+# Alfresco
+logger.alfresco.name=org.alfresco
+logger.alfresco.level=error
+
+logger.alfresco-repo-admin.name=org.alfresco.repo.admin
+logger.alfresco-repo-admin.level=info
+
+logger.alfresco-repo-transaction.name=org.alfresco.repo.transaction
+logger.alfresco-repo-transaction.level=warn
+
+logger.alfresco-repo-cache-TransactionalCache.name=org.alfresco.repo.cache.TransactionalCache
+logger.alfresco-repo-cache-TransactionalCache.level=warn
+
+logger.alfresco-repo-model-filefolder.name=org.alfresco.repo.model.filefolder
+logger.alfresco-repo-model-filefolder.level=warn
+
+logger.alfresco-repo-tenant.name=org.alfresco.repo.tenant
+logger.alfresco-repo-tenant.level=info
+
+logger.alfresco-config.name=org.alfresco.config
+logger.alfresco-config.level=warn
+
+logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
+logger.alfresco-config-JndiObjectFactoryBean.level=warn
+
+logger.alfresco-config-JBossEnabledWebApplicationContext.name=org.alfresco.config.JBossEnabledWebApplicationContext
+logger.alfresco-config-JBossEnabledWebApplicationContext.level=warn
+
+logger.alfresco-repo-management-subsystems.name=org.alfresco.repo.management.subsystems
+logger.alfresco-repo-management-subsystems.level=warn
+
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.level=info
+
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext
+logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.level=warn
+
+logger.alfresco-repo-security-sync.name=org.alfresco.repo.security.sync
+logger.alfresco-repo-security-sync.level=info
+
+logger.alfresco-repo-security-person.name=org.alfresco.repo.security.person
+logger.alfresco-repo-security-person.level=info
+
+logger.alfresco-sample.name=org.alfresco.sample
+logger.alfresco-sample.level=info
+
+logger.alfresco-web.name=org.alfresco.web
+logger.alfresco-web.level=info
+
+# Web Framework
+logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
+logger.springframework-extensions-webscripts.level=info
+
+logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
+logger.springframework-extensions-webscripts-ScriptLogger.level=warn
+
+logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
+logger.springframework-extensions-webscripts-ScriptDebugger.level=off
+
+# Freemarker
+# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
+logger.runtime.name=freemarker.runtime
+logger.runtime.level=
+
+#-----------------------------------------------------------------------
+# Custom Share module logging goes here...
+#-----------------------------------------------------------------------
+
+
+
diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j.properties b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j.properties
deleted file mode 100644
index 29523b48..00000000
--- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j.properties
+++ /dev/null
@@ -1 +0,0 @@
-# Add here module-specific custom log4j.properties configuration
\ No newline at end of file
diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j2.properties b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j2.properties
new file mode 100644
index 00000000..5bb2a367
--- /dev/null
+++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/log4j2.properties
@@ -0,0 +1 @@
+# Add here module-specific custom log4j2.properties configuration
\ No newline at end of file