mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
ACS-3160 Replace Reload4j with Log4j2 (#1204)
* [ACS-3160] replace reload4j with log4j2 * [ACS-3160] refactor log4j version in pom.xml files * ACS-3160 Add log4j2.properties file * [ACS-3160] convert log4jHierarchyInit properties * ACS-3222 Generate log4j2 rolling file in the Tomcat logs directory * ACS-3160 Fix reconfiguration in Log4JHierarchyInit * [ACS-3160] change loggers from log4j2 to slf4j (where possible) * ACS-3160 Load a set of augmenting/overriding log4j2.properties files * ACS-3160 Fix CheckRequiredClassesForLoggingConsoleUnitTest (adjust to log4j2) * ACS-3160 Enable CheckRequiredClassesForLoggingConsoleUnitTest * [ACS-3160] add appender util class * [ACS-3160] fix removeAbstractAppenderFromLogger * ACS-3160 Upgrade Log4j2 and Slf4j2 versions to the latest * ACS-3160 Temporarily remove AOS for test purposes [tas][db] * [ACS-3160] remove setting level from removeAbstractAppenderFromLogger * ACS-3160 Remove references to SanitizingPatternLayout [tas] * ACS-3892 Migrate ags-community-repo AMP to Log4j2 * ACS-3892 Reduce log4j-core scope to test * ACS-3160 Update the aos-module version to 1.5.0-DEV-LOG4J2 [tas][db] * [ACS-3924] upgrade greenmail version * [ACS-3924] remove exclusion from greenmail * ACS-3160 Fix NDC * ACS-3160 Revert the NDC_REF * ACS-3160 Test with googledrive with Log4j2 * ACS-3160 Log4j references cleanup Co-authored-by: Domenico Sibilio <domenicosibilio@gmail.com> Co-authored-by: Damian.Ujma@hyland.com <Damian.Ujma@hyland.com>
This commit is contained in:
@@ -43,9 +43,15 @@
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-reload4j</artifactId>
|
||||
<version>${dependency.slf4j.version}</version>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j2-impl</artifactId>
|
||||
<version>${dependency.log4j.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>${dependency.log4j.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@@ -62,6 +68,17 @@
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>utility</artifactId>
|
||||
<version>${dependency.tas-utility.version}</version>
|
||||
<!-- These exclusions can be removed once tas-utility does not rely on Reload4j anymore -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>ch.qos.reload4j</groupId>
|
||||
<artifactId>reload4j</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-reload4j</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
|
@@ -1,11 +0,0 @@
|
||||
# Root logger option
|
||||
log4j.rootLogger=INFO, file
|
||||
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.file=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.file.File=./target/reports/rm-automation-community-rest-api.log
|
||||
log4j.appender.file.MaxBackupIndex=10
|
||||
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.file.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
log4j.logger.com.example=debug
|
@@ -0,0 +1,20 @@
|
||||
###### Root Logger #######
|
||||
rootLogger.level=info
|
||||
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||
|
||||
###### File appender definition #######
|
||||
appender.rolling.type=RollingFile
|
||||
appender.rolling.name=RollingAppender
|
||||
appender.rolling.fileName=target/reports/rm-automation-community-rest-api.log
|
||||
appender.rolling.filePattern=target/reports/rm-automation-community-rest-api.log.%i
|
||||
appender.rolling.layout.type=PatternLayout
|
||||
appender.rolling.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.rolling.policies.type=Policies
|
||||
appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.rolling.policies.size.size=10MB
|
||||
appender.rolling.strategy.type=DefaultRolloverStrategy
|
||||
appender.rolling.strategy.max=10
|
||||
|
||||
###### Loggers definitions #######
|
||||
logger.com-example.name=com.example
|
||||
logger.com-example.level=debug
|
@@ -1,60 +0,0 @@
|
||||
#
|
||||
# Warnings
|
||||
#
|
||||
log4j.logger.org.alfresco.module.org_alfresco_module_rm.caveat=warn
|
||||
log4j.logger.org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurityPostProcessor=warn
|
||||
|
||||
#
|
||||
# Module patches
|
||||
#
|
||||
log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
|
||||
|
||||
#
|
||||
# Set to 'debug' to see details of capability failures when AccessDenied is thrown. May be
|
||||
# removed to enhance performance.
|
||||
#
|
||||
log4j.logger.org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurityInterceptor=info
|
||||
|
||||
#
|
||||
# RM permission debug
|
||||
#
|
||||
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.RMEntryVoter=debug
|
||||
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.RMAfterInvocationProvider=debug
|
||||
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.declarative=debug
|
||||
|
||||
#
|
||||
# RM Audit service debug
|
||||
#
|
||||
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService=debug
|
||||
|
||||
#
|
||||
# Job debug
|
||||
#
|
||||
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.job=debug
|
||||
|
||||
#
|
||||
# Script logging level
|
||||
#
|
||||
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=error
|
||||
|
||||
#
|
||||
# Behaviour debug
|
||||
#
|
||||
log4j.logger.org.alfresco.repo.policy.annotation.AnnotatedBehaviourPostProcessor=info
|
||||
log4j.logger.org.alfresco.module.org_alfresco_module_rm.behaviour.BaseBehaviourBean=info
|
||||
|
||||
#
|
||||
# Patch debug
|
||||
#
|
||||
log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
|
||||
#
|
||||
# RM Audit service debug
|
||||
#
|
||||
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService=debug
|
||||
|
||||
#
|
||||
# Job debug
|
||||
#
|
||||
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.job=debug
|
||||
log4j.logger.org.alfresco.repo.web.scripts.roles.DynamicAuthoritiesGet=info
|
||||
log4j.logger.org.alfresco.module.org_alfresco_module_rm.query.RecordsManagementQueryDAOImpl=info
|
@@ -0,0 +1,50 @@
|
||||
# Warnings
|
||||
logger.alfresco-module-org_alfresco_module_rm-caveat.name=org.alfresco.module.org_alfresco_module_rm.caveat
|
||||
logger.alfresco-module-org_alfresco_module_rm-caveat.level=warn
|
||||
|
||||
logger.alfresco-module-org_alfresco_module_rm-security-RMMethodSecurityPostProcessor.name=org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurityPostProcessor
|
||||
logger.alfresco-module-org_alfresco_module_rm-security-RMMethodSecurityPostProcessor.level=warn
|
||||
|
||||
# Module patches
|
||||
logger.alfresco-module-org_alfresco_module_rm-patch.name=org.alfresco.module.org_alfresco_module_rm.patch
|
||||
logger.alfresco-module-org_alfresco_module_rm-patch.level=info
|
||||
|
||||
# Set to 'debug' to see details of capability failures when AccessDenied is thrown. May be
|
||||
# removed to enhance performance.
|
||||
logger.alfresco-module-org_alfresco_module_rm-security-RMMethodSecurityInterceptor.name=org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurityInterceptor
|
||||
logger.alfresco-module-org_alfresco_module_rm-security-RMMethodSecurityInterceptor.level=info
|
||||
|
||||
# RM permission debug
|
||||
#logger.alfresco-module-org_alfresco_module_rm-capability-RMEntryVoter.name=org.alfresco.module.org_alfresco_module_rm.capability.RMEntryVoter
|
||||
#logger.alfresco-module-org_alfresco_module_rm-capability-RMEntryVoter.level=debug
|
||||
|
||||
#logger.alfresco-module-org_alfresco_module_rm-capability-RMAfterInvocationProvider.name=org.alfresco.module.org_alfresco_module_rm.capability.RMAfterInvocationProvider
|
||||
#logger.alfresco-module-org_alfresco_module_rm-capability-RMAfterInvocationProvider.level=debug
|
||||
|
||||
#logger.alfresco-module-org_alfresco_module_rm-capability-declarative.name=org.alfresco.module.org_alfresco_module_rm.capability.declarative
|
||||
#logger.alfresco-module-org_alfresco_module_rm-capability-declarative.level=debug
|
||||
|
||||
# RM Audit service debug
|
||||
#logger.alfresco-module-org_alfresco_module_rm-audit-RecordsManagementAuditService.name=org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService
|
||||
#logger.alfresco-module-org_alfresco_module_rm-audit-RecordsManagementAuditService.level=debug
|
||||
|
||||
# Job debug
|
||||
#logger.alfresco-module-org_alfresco_module_rm-job.name=org.alfresco.module.org_alfresco_module_rm.job
|
||||
#logger.alfresco-module-org_alfresco_module_rm-job.level=debug
|
||||
|
||||
# Script logging level
|
||||
logger.alfresco-repo-jscript-ScriptLogger.name=org.alfresco.repo.jscript.ScriptLogger
|
||||
logger.alfresco-repo-jscript-ScriptLogger.level=error
|
||||
|
||||
# Behaviour debug
|
||||
logger.alfresco-repo-policy-annotation-AnnotatedBehaviourPostProcessor.name=org.alfresco.repo.policy.annotation.AnnotatedBehaviourPostProcessor
|
||||
logger.alfresco-repo-policy-annotation-AnnotatedBehaviourPostProcessor.level=info
|
||||
|
||||
logger.alfresco-module-org_alfresco_module_rm-behaviour-BaseBehaviourBean.name=org.alfresco.module.org_alfresco_module_rm.behaviour.BaseBehaviourBean
|
||||
logger.alfresco-module-org_alfresco_module_rm-behaviour-BaseBehaviourBean.level=info
|
||||
|
||||
logger.alfresco-repo-web-scripts-roles-DynamicAuthoritiesGet.name=org.alfresco.repo.web.scripts.roles.DynamicAuthoritiesGet
|
||||
logger.alfresco-repo-web-scripts-roles-DynamicAuthoritiesGet.level=info
|
||||
|
||||
logger.alfresco-module-org_alfresco_module_rm-query-RecordsManagementQueryDAOImpl.name=org.alfresco.module.org_alfresco_module_rm.query.RecordsManagementQueryDAOImpl
|
||||
logger.alfresco-module-org_alfresco_module_rm-query-RecordsManagementQueryDAOImpl.level=info
|
15
core/pom.xml
15
core/pom.xml
@@ -54,9 +54,14 @@
|
||||
<classifier>asl</classifier>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.reload4j</groupId>
|
||||
<artifactId>reload4j</artifactId>
|
||||
<version>1.2.18.3</version>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>${dependency.log4j.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>${dependency.log4j.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.json</groupId>
|
||||
@@ -113,8 +118,8 @@
|
||||
|
||||
<!-- Test only dependencies, as popped up while running mvn test -->
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-reload4j</artifactId>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j2-impl</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2010 Alfresco Software Limited.
|
||||
* Copyright (C) 2005-2022 Alfresco Software Limited.
|
||||
*
|
||||
* This file is part of Alfresco
|
||||
*
|
||||
@@ -23,7 +23,7 @@ import org.apache.commons.logging.LogFactory;
|
||||
|
||||
|
||||
/**
|
||||
* A stand in for the org.apache.log4j.NDC class that avoids introducing runtime dependencies against the otherwise
|
||||
* A stand in for the org.apache.logging.log4j.ThreadContext class that avoids introducing runtime dependencies against the otherwise
|
||||
* optional log4j.
|
||||
*
|
||||
* @author dward
|
||||
@@ -32,7 +32,7 @@ public class NDC
|
||||
{
|
||||
private static Log logger = LogFactory.getLog(NDC.class);
|
||||
|
||||
/** Log4J delegate for NDC */
|
||||
/** Log4J2 delegate for NDC */
|
||||
private static NDCDelegate ndcDelegate;
|
||||
|
||||
static
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2010 Alfresco Software Limited.
|
||||
* Copyright (C) 2005-2022 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
@@ -25,19 +25,19 @@
|
||||
package org.alfresco.util.log.log4j;
|
||||
|
||||
import org.alfresco.util.log.NDCDelegate;
|
||||
import org.apache.log4j.NDC;
|
||||
import org.apache.logging.log4j.ThreadContext;
|
||||
|
||||
/**
|
||||
* A stand in for the org.apache.log4j.NDC class that avoids introducing runtime dependencies against the otherwise
|
||||
* A stand in for the org.apache.logging.log4j.ThreadContext class that avoids introducing runtime dependencies against the otherwise
|
||||
* optional log4j.
|
||||
*
|
||||
* @author dward
|
||||
*/
|
||||
public class Log4JNDC implements NDCDelegate
|
||||
{
|
||||
// Force resolution of the log4j NDC class by the classloader (thus forcing an error if unavailable)
|
||||
// Force resolution of the log4j2 ThreadContext class by the classloader (thus forcing an error if unavailable)
|
||||
@SuppressWarnings("unused")
|
||||
private static final Class<?> NDC_REF = NDC.class;
|
||||
private static final Class<?> NDC_REF = ThreadContext.class;
|
||||
|
||||
/**
|
||||
* Push new diagnostic context information for the current thread.
|
||||
@@ -47,7 +47,7 @@ public class Log4JNDC implements NDCDelegate
|
||||
*/
|
||||
public void push(String message)
|
||||
{
|
||||
NDC.push(message);
|
||||
ThreadContext.push(message);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -55,6 +55,6 @@ public class Log4JNDC implements NDCDelegate
|
||||
*/
|
||||
public void remove()
|
||||
{
|
||||
NDC.remove();
|
||||
ThreadContext.clearAll();
|
||||
}
|
||||
}
|
||||
|
@@ -42,10 +42,6 @@ RUN sed -i "s/shared.loader=/shared.loader=\${catalina.base}\/shared\/classes/"
|
||||
|
||||
RUN mkdir -p ${TOMCAT_DIR}/amps
|
||||
|
||||
#RUN echo -e '\n\
|
||||
#log4j.logger.org.alfresco.repo.content.transform.TransformerDebug=debug\n\
|
||||
#' >> ${TOMCAT_DIR}/shared/classes/alfresco/extension/custom-log4j.propertiesRUN mkdir -p ${TOMCAT_DIR}/amps
|
||||
|
||||
# Copy the amps from build context to the appropriate location for your application server
|
||||
COPY ${resource_path}/amps ${TOMCAT_DIR}/amps
|
||||
|
||||
@@ -55,13 +51,14 @@ RUN java -jar ${TOMCAT_DIR}/alfresco-mmt/alfresco-mmt*.jar install \
|
||||
${TOMCAT_DIR}/webapps/alfresco -directory -nobackup
|
||||
|
||||
# Move the log file
|
||||
RUN sed -i -e "s_log4j.appender.File.File\=alfresco.log_log4j.appender.File.File\=${TOMCAT_DIR}/logs\/alfresco.log_" \
|
||||
${TOMCAT_DIR}/webapps/alfresco/WEB-INF/classes/log4j.properties && \
|
||||
|
||||
RUN sed -i -e "s_appender.rolling.fileName\=alfresco.log_appender.rolling.fileName\=${TOMCAT_DIR}/logs\/alfresco.log_" \
|
||||
${TOMCAT_DIR}/webapps/alfresco/WEB-INF/classes/log4j2.properties && \
|
||||
sed -i -e "s_appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}_appender.rolling.filePattern\=${TOMCAT_DIR}/logs\/alfresco.log.%d{yyyy-MM-dd}_" \
|
||||
${TOMCAT_DIR}/webapps/alfresco/WEB-INF/classes/log4j2.properties && \
|
||||
# Add catalina.policy to ROOT.war and alfresco.war
|
||||
# Grant all security permissions to alfresco webapp because of numerous permissions required in order to work properly.
|
||||
# Grant only deployXmlPermission to ROOT webapp.
|
||||
sed -i -e "\$a\grant\ codeBase\ \"file:\$\{catalina.base\}\/webapps\/alfresco\/-\" \{\n\ permission\ java.security.AllPermission\;\n\};\ngrant\ codeBase\ \"file:\$\{catalina.base\}\/webapps\/ROOT\/-\" \{\n\ permission org.apache.catalina.security.DeployXmlPermission \"ROOT\";\n\};" ${TOMCAT_DIR}/conf/catalina.policy
|
||||
sed -i -e "\$a\grant\ codeBase\ \"file:\$\{catalina.base\}\/webapps\/alfresco\/-\" \{\n\ permission\ java.security.AllPermission\;\n\};\ngrant\ codeBase\ \"file:\$\{catalina.base\}\/webapps\/_vti_bin\/-\" \{\n\ permission\ java.security.AllPermission\;\n\};\ngrant\ codeBase\ \"file:\$\{catalina.base\}\/webapps\/ROOT\/-\" \{\n\ permission org.apache.catalina.security.DeployXmlPermission \"ROOT\";\n\};" ${TOMCAT_DIR}/conf/catalina.policy
|
||||
|
||||
# fontconfig is required by Activiti worflow diagram generator
|
||||
# installing pinned dependencies as well
|
||||
|
@@ -78,7 +78,6 @@
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>copy-amps</id>
|
||||
<phase>process-resources</phase>
|
||||
|
@@ -52,10 +52,6 @@
|
||||
<artifactId>avalon-framework-impl</artifactId>
|
||||
<version>4.3.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-log-sanitizer</artifactId>
|
||||
</dependency>
|
||||
<!-- REPO-3918 needed libraries for Java 11 -->
|
||||
<dependency>
|
||||
<groupId>org.glassfish.jaxb</groupId>
|
||||
|
@@ -1,270 +0,0 @@
|
||||
# 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.alfresco.util.log.log4j.SanitizingPatternLayout
|
||||
|
||||
# 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=alfresco.log
|
||||
log4j.appender.File.Append=true
|
||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
||||
log4j.appender.File.layout=org.alfresco.util.log.log4j.SanitizingPatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
|
||||
|
||||
###### Hibernate specific appender definition #######
|
||||
#log4j.appender.file=org.apache.log4j.FileAppender
|
||||
#log4j.appender.file.File=hibernate.log
|
||||
#log4j.appender.file.layout=org.alfresco.util.log.log4j.SanitizingPatternLayout
|
||||
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
|
||||
|
||||
###### Log level overrides #######
|
||||
|
||||
# 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
|
||||
|
||||
# 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.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
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# Authentication
|
||||
log4j.logger.org.alfresco.filesys.auth.ftp=warn
|
||||
log4j.logger.org.alfresco.ftp.protocol.auth=warn
|
||||
log4j.logger.org.alfresco.repo.webdav.auth=warn
|
||||
log4j.logger.org.alfresco.repo.web.auth=warn
|
||||
log4j.logger.org.alfresco.web.app.servlet=warn
|
||||
# Used also for brute force attack detection
|
||||
log4j.logger.org.alfresco.repo.security.authentication=warn
|
||||
|
||||
# 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
|
||||
|
||||
###### Scripting #######
|
||||
|
||||
# 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.domain.schema.script.DeleteNotExistsExecutor=off
|
||||
|
||||
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
|
||||
|
||||
# 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
|
||||
|
||||
# HeartBeat
|
||||
log4j.logger.org.alfresco.heartbeat=info
|
||||
|
||||
# Transformations
|
||||
#log4j.logger.org.alfresco.repo.content.transform.TransformerDebug=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.content.transform=info
|
||||
|
||||
# Repository probes
|
||||
log4j.logger.org.alfresco.rest.api.probes.ProbeEntityResource=info
|
||||
|
||||
# ActiveMQ
|
||||
log4j.logger.org.apache.activemq.transport.failover=warn
|
633
packaging/war/src/main/resources/log4j2.properties
Normal file
633
packaging/war/src/main/resources/log4j2.properties
Normal file
@@ -0,0 +1,633 @@
|
||||
# Set root logger level to error
|
||||
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
|
||||
|
||||
###### Log level overrides #######
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# log prepared statement cache activity ###
|
||||
|
||||
logger.hibernate-ps-PreparedStatementCache.name=org.hibernate.ps.PreparedStatementCache
|
||||
logger.hibernate-ps-PreparedStatementCache.level=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-web-app-AlfrescoNavigationHandler.name=org.alfresco.web.app.AlfrescoNavigationHandler
|
||||
#logger.alfresco-web-app-AlfrescoNavigationHandler.level=debug
|
||||
|
||||
#logger.alfresco-web-ui-repo-component-UIActions.name=org.alfresco.web.ui.repo.component.UIActions
|
||||
#logger.alfresco-web-ui-repo-component-UIActions.level=debug
|
||||
|
||||
#logger.alfresco-web-ui-repo-tag-PageTag.name=org.alfresco.web.ui.repo.tag.PageTag
|
||||
#logger.alfresco-web-ui-repo-tag-PageTag.level=debug
|
||||
|
||||
#logger.alfresco-web-bean-clipboard.name=org.alfresco.web.bean.clipboard
|
||||
#logger.alfresco-web-bean-clipboard.level=debug
|
||||
|
||||
logger.alfresco-service-descriptor-DescriptorService.name=org.alfresco.service.descriptor.DescriptorService
|
||||
logger.alfresco-service-descriptor-DescriptorService.level=info
|
||||
|
||||
#logger.alfresco-web-page.name=org.alfresco.web.page
|
||||
#logger.alfresco-web-page.level=debug
|
||||
|
||||
|
||||
|
||||
logger.alfresco-repo-importer-ImporterBootstrap.name=org.alfresco.repo.importer.ImporterBootstrap
|
||||
logger.alfresco-repo-importer-ImporterBootstrap.level=error
|
||||
|
||||
#logger.alfresco-repo-importer-ImporterBootstrap.name=org.alfresco.repo.importer.ImporterBootstrap
|
||||
#logger.alfresco-repo-importer-ImporterBootstrap.level=info
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
# FTP server debugging
|
||||
|
||||
logger.alfresco-ftp-protocol.name=org.alfresco.ftp.protocol
|
||||
logger.alfresco-ftp-protocol.level=error
|
||||
|
||||
#logger.alfresco-ftp-server.name=org.alfresco.ftp.server
|
||||
#logger.alfresco-ftp-server.level=debug
|
||||
|
||||
|
||||
|
||||
# WebDAV debugging
|
||||
|
||||
#logger.alfresco-webdav-protocol.name=org.alfresco.webdav.protocol
|
||||
#logger.alfresco-webdav-protocol.level=debug
|
||||
|
||||
logger.alfresco-webdav-protocol.name=org.alfresco.webdav.protocol
|
||||
logger.alfresco-webdav-protocol.level=info
|
||||
|
||||
|
||||
|
||||
# Kerberos servlet filters
|
||||
|
||||
#logger.alfresco-web-app-servlet-KerberosAuthenticationFilter.name=org.alfresco.web.app.servlet.KerberosAuthenticationFilter
|
||||
#logger.alfresco-web-app-servlet-KerberosAuthenticationFilter.level=debug
|
||||
|
||||
#logger.alfresco-repo-webdav-auth-KerberosAuthenticationFilter.name=org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter
|
||||
#logger.alfresco-repo-webdav-auth-KerberosAuthenticationFilter.level=debug
|
||||
|
||||
|
||||
|
||||
# File servers
|
||||
|
||||
logger.alfresco-fileserver.name=org.alfresco.fileserver
|
||||
logger.alfresco-fileserver.level=warn
|
||||
|
||||
|
||||
|
||||
# Repo filesystem debug logging
|
||||
|
||||
#logger.alfresco-filesys-repo-ContentDiskDriver.name=org.alfresco.filesys.repo.ContentDiskDriver
|
||||
#logger.alfresco-filesys-repo-ContentDiskDriver.level=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
|
||||
|
||||
|
||||
|
||||
# Authentication
|
||||
|
||||
logger.alfresco-filesys-auth-ftp.name=org.alfresco.filesys.auth.ftp
|
||||
logger.alfresco-filesys-auth-ftp.level=warn
|
||||
|
||||
logger.alfresco-ftp-protocol-auth.name=org.alfresco.ftp.protocol.auth
|
||||
logger.alfresco-ftp-protocol-auth.level=warn
|
||||
|
||||
logger.alfresco-repo-webdav-auth.name=org.alfresco.repo.webdav.auth
|
||||
logger.alfresco-repo-webdav-auth.level=warn
|
||||
|
||||
logger.alfresco-repo-web-auth.name=org.alfresco.repo.web.auth
|
||||
logger.alfresco-repo-web-auth.level=warn
|
||||
|
||||
logger.alfresco-web-app-servlet.name=org.alfresco.web.app.servlet
|
||||
logger.alfresco-web-app-servlet.level=warn
|
||||
|
||||
# Used also for brute force attack detection
|
||||
|
||||
logger.alfresco-repo-security-authentication.name=org.alfresco.repo.security.authentication
|
||||
logger.alfresco-repo-security-authentication.level=warn
|
||||
|
||||
|
||||
|
||||
# Indexer debugging
|
||||
|
||||
logger.alfresco-repo-search-Indexer.name=org.alfresco.repo.search.Indexer
|
||||
logger.alfresco-repo-search-Indexer.level=error
|
||||
|
||||
#logger.alfresco-repo-search-Indexer.name=org.alfresco.repo.search.Indexer
|
||||
#logger.alfresco-repo-search-Indexer.level=debug
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
#logger.alfresco-repo-search-impl-lucene-index.name=org.alfresco.repo.search.impl.lucene.index
|
||||
#logger.alfresco-repo-search-impl-lucene-index.level=debug
|
||||
|
||||
|
||||
|
||||
# Audit debugging
|
||||
|
||||
#logger.alfresco-repo-audit.name=org.alfresco.repo.audit
|
||||
#logger.alfresco-repo-audit.level=debug
|
||||
#logger.alfresco-repo-audit-model.name=org.alfresco.repo.audit.model
|
||||
#logger.alfresco-repo-audit-model.level=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
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
#logger.alfresco-repo-deploy-DeploymentServiceImpl.name=org.alfresco.repo.deploy.DeploymentServiceImpl
|
||||
#logger.alfresco-repo-deploy-DeploymentServiceImpl.level=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
|
||||
|
||||
|
||||
|
||||
#logger.alfresco-repo-googledocs.name=org.alfresco.repo.googledocs
|
||||
#logger.alfresco-repo-googledocs.level=debug
|
||||
|
||||
|
||||
|
||||
###### Scripting #######
|
||||
|
||||
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# HeartBeat
|
||||
|
||||
logger.alfresco-heartbeat.name=org.alfresco.heartbeat
|
||||
logger.alfresco-heartbeat.level=info
|
||||
|
||||
|
||||
|
||||
# Transformations
|
||||
|
||||
#logger.alfresco-repo-content-transform-TransformerDebug.name=org.alfresco.repo.content.transform.TransformerDebug
|
||||
#logger.alfresco-repo-content-transform-TransformerDebug.level=debug
|
||||
|
||||
|
||||
|
||||
logger.alfresco-repo-content-transform.name=org.alfresco.repo.content.transform
|
||||
logger.alfresco-repo-content-transform.level=info
|
||||
|
||||
|
||||
|
||||
# Repository probes
|
||||
|
||||
logger.alfresco-rest-api-probes-ProbeEntityResource.name=org.alfresco.rest.api.probes.ProbeEntityResource
|
||||
logger.alfresco-rest-api-probes-ProbeEntityResource.level=info
|
||||
|
||||
|
||||
|
||||
# ActiveMQ
|
||||
|
||||
logger.apache-activemq-transport-failover.name=org.apache.activemq.transport.failover
|
||||
logger.apache-activemq-transport-failover.level=warn
|
||||
|
31
pom.xml
31
pom.xml
@@ -48,7 +48,6 @@
|
||||
<dependency.alfresco-jlan.version>7.2</dependency.alfresco-jlan.version>
|
||||
<dependency.alfresco-server-root.version>6.0.1</dependency.alfresco-server-root.version>
|
||||
<dependency.alfresco-messaging-repo.version>1.2.20</dependency.alfresco-messaging-repo.version>
|
||||
<dependency.alfresco-log-sanitizer.version>0.2</dependency.alfresco-log-sanitizer.version>
|
||||
<dependency.activiti-engine.version>5.23.0</dependency.activiti-engine.version>
|
||||
<dependency.activiti.version>5.23.0</dependency.activiti.version>
|
||||
<dependency.alfresco-transform-service.version>2.0.0</dependency.alfresco-transform-service.version>
|
||||
@@ -73,7 +72,8 @@
|
||||
<dependency.httpcore.version>4.4.15</dependency.httpcore.version>
|
||||
<dependency.commons-httpclient.version>3.1-HTTPCLIENT-1265</dependency.commons-httpclient.version>
|
||||
<dependency.xercesImpl.version>2.12.2</dependency.xercesImpl.version>
|
||||
<dependency.slf4j.version>2.0.1</dependency.slf4j.version>
|
||||
<dependency.slf4j.version>2.0.3</dependency.slf4j.version>
|
||||
<dependency.log4j.version>2.19.0</dependency.log4j.version>
|
||||
<dependency.gytheio.version>0.17</dependency.gytheio.version>
|
||||
<dependency.groovy.version>3.0.12</dependency.groovy.version>
|
||||
<dependency.tika.version>2.4.1</dependency.tika.version>
|
||||
@@ -109,8 +109,8 @@
|
||||
<dependency.jakarta-json-path.version>2.7.0</dependency.jakarta-json-path.version>
|
||||
<dependency.jakarta-rpc-api.version>1.1.4</dependency.jakarta-rpc-api.version>
|
||||
|
||||
<alfresco.googledrive.version>3.3.1</alfresco.googledrive.version>
|
||||
<alfresco.aos-module.version>1.5.0</alfresco.aos-module.version>
|
||||
<alfresco.googledrive.version>3.3.1-DEV-LOG4J2</alfresco.googledrive.version>
|
||||
<alfresco.aos-module.version>1.5.0-DEV-LOG4J2</alfresco.aos-module.version>
|
||||
<alfresco.api-explorer.version>7.3.0</alfresco.api-explorer.version> <!-- Also in alfresco-enterprise-share -->
|
||||
|
||||
<alfresco.maven-plugin.version>2.2.0</alfresco.maven-plugin.version>
|
||||
@@ -567,17 +567,6 @@
|
||||
<artifactId>commons-email</artifactId>
|
||||
<version>1.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-log-sanitizer</artifactId>
|
||||
<version>${dependency.alfresco-log-sanitizer.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.aos-module</groupId>
|
||||
<artifactId>alfresco-aos-module</artifactId>
|
||||
@@ -619,15 +608,9 @@
|
||||
<version>${dependency.slf4j.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-reload4j</artifactId>
|
||||
<version>${dependency.slf4j.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>ch.qos.reload4j</groupId>
|
||||
<artifactId>reload4j</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j2-impl</artifactId>
|
||||
<version>${dependency.log4j.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>xerces</groupId>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* #%L
|
||||
* Alfresco Remote API
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
||||
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
@@ -49,8 +49,6 @@ import org.alfresco.service.transaction.TransactionService;
|
||||
import org.alfresco.util.ApplicationContextHelper;
|
||||
import org.alfresco.util.GUID;
|
||||
import org.alfresco.util.testing.category.IntermittentlyFailingTests;
|
||||
import org.apache.log4j.Level;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.junit.Test;
|
||||
@@ -58,6 +56,7 @@ import org.junit.experimental.categories.Category;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
import org.slf4j.event.Level;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
import org.springframework.mock.web.MockHttpServletResponse;
|
||||
|
@@ -46,10 +46,6 @@
|
||||
<groupId>com.sun.mail</groupId>
|
||||
<artifactId>javax.mail</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
@@ -222,8 +218,9 @@
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-reload4j</artifactId>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j2-impl</artifactId>
|
||||
<version>${dependency.log4j.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>xerces</groupId>
|
||||
|
@@ -2,37 +2,45 @@
|
||||
* #%L
|
||||
* Alfresco Repository
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
||||
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
*
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
* #L%
|
||||
*/
|
||||
package org.alfresco.repo.admin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.core.LoggerContext;
|
||||
import org.apache.logging.log4j.core.config.properties.PropertiesConfiguration;
|
||||
import org.apache.logging.log4j.core.config.properties.PropertiesConfigurationBuilder;
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
@@ -45,54 +53,51 @@ import org.springframework.core.io.support.ResourcePatternResolver;
|
||||
* The actual implementation uses introspection to avoid any hard-coded references to Log4J classes. If Log4J is
|
||||
* not present, this class will do nothing.
|
||||
* <p>
|
||||
* Alfresco modules can provide their own log4j.properties file, which augments/overrides the global log4j.properties
|
||||
* Alfresco modules can provide their own log4j2.properties file, which augments/overrides the global log4j2.properties
|
||||
* within the Alfresco webapp. Within the module's source tree, suppose you create:
|
||||
* <pre>
|
||||
* config/alfresco/module/{module.id}/log4j.properties
|
||||
* config/alfresco/module/{module.id}/log4j2.properties
|
||||
* </pre>
|
||||
* At deployment time, this log4j.properties file will be placed in:
|
||||
* At deployment time, this log4j2.properties file will be placed in:
|
||||
* <pre>
|
||||
* WEB-INF/classes/alfresco/module/{module.id}/log4j.properties
|
||||
* WEB-INF/classes/alfresco/module/{module.id}/log4j2.properties
|
||||
* </pre>
|
||||
* Where {module.id} is whatever value is set within the AMP's module.properties file. For details, see: <a
|
||||
* href='http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module'>Developing an Alfresco Module</a>
|
||||
* <p>
|
||||
* For example, if {module.id} is "org.alfresco.module.someModule", then within your source code you'll have:
|
||||
*
|
||||
*
|
||||
* <pre>
|
||||
* config / alfresco / module / org.alfresco.module.someModule / log4j.properties
|
||||
* config / alfresco / module / org.alfresco.module.someModule / log4j2.properties
|
||||
* </pre>
|
||||
*
|
||||
* <p>
|
||||
* This would be deployed to:
|
||||
* <pre>
|
||||
* WEB - INF / classes / alfresco / module / org.alfresco.module.someModule / log4j.properties
|
||||
* WEB - INF / classes / alfresco / module / org.alfresco.module.someModule / log4j2.properties
|
||||
* </pre>
|
||||
*/
|
||||
public class Log4JHierarchyInit implements ApplicationContextAware
|
||||
{
|
||||
private static Log logger = LogFactory.getLog(Log4JHierarchyInit.class);
|
||||
private List<String> extraLog4jUrls;
|
||||
private static final Log LOGGER = LogFactory.getLog(Log4JHierarchyInit.class);
|
||||
private final List<String> extraLog4jUrls;
|
||||
private ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
||||
|
||||
public Log4JHierarchyInit()
|
||||
{
|
||||
extraLog4jUrls = new ArrayList<String>();
|
||||
extraLog4jUrls = new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a set of augmenting/overriding log4j.properties files from locations specified via an array of Srping URLS.
|
||||
* Loads a set of augmenting/overriding log4j2.properties files from locations specified via an array of Spring URLS.
|
||||
* <p>
|
||||
* This function supports Spring's syntax for retrieving multiple class path resources with the same name,
|
||||
* via the "classpath*:" prefix. For details, see: {@link PathMatchingResourcePatternResolver}.
|
||||
*/
|
||||
public void setExtraLog4jUrls(List<String> urls)
|
||||
{
|
||||
for (String url : urls)
|
||||
{
|
||||
extraLog4jUrls.add(url);
|
||||
}
|
||||
extraLog4jUrls.addAll(urls);
|
||||
}
|
||||
|
||||
|
||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
|
||||
{
|
||||
this.resolver = applicationContext;
|
||||
@@ -107,34 +112,50 @@ public class Log4JHierarchyInit implements ApplicationContextAware
|
||||
{
|
||||
try
|
||||
{
|
||||
Properties mainProperties=new Properties();
|
||||
// Get the PropertyConfigurator
|
||||
Class<?> clazz = Class.forName("org.apache.log4j.PropertyConfigurator");
|
||||
Method method = clazz.getMethod("configure", Properties.class);
|
||||
// Import using this method
|
||||
Properties mainProperties = new Properties();
|
||||
|
||||
importMainLogSettings(mainProperties);
|
||||
for (String url : extraLog4jUrls)
|
||||
{
|
||||
importLogSettings(url, mainProperties);
|
||||
}
|
||||
method.invoke(null, mainProperties);
|
||||
|
||||
PropertiesConfiguration propertiesConfiguration = new PropertiesConfigurationBuilder()
|
||||
.setConfigurationSource(null)
|
||||
.setRootProperties(mainProperties)
|
||||
.setLoggerContext((LoggerContext) LogManager.getContext(false))
|
||||
.build();
|
||||
|
||||
propertiesConfiguration.initialize();
|
||||
((LoggerContext) LogManager.getContext(false)).reconfigure(propertiesConfiguration);
|
||||
}
|
||||
catch (ClassNotFoundException e)
|
||||
catch (Throwable t)
|
||||
{
|
||||
// Log4J not present
|
||||
return;
|
||||
}
|
||||
catch (NoSuchMethodException e)
|
||||
{
|
||||
throw new RuntimeException("Unable to find method 'configure' on class 'org.apache.log4j.PropertyConfigurator'");
|
||||
}
|
||||
catch(Throwable t)
|
||||
{
|
||||
if (logger.isDebugEnabled())
|
||||
if (LOGGER.isDebugEnabled())
|
||||
{
|
||||
logger.debug("Failed to add extra Logger configuration: \n" + " Error: " + t.getMessage(), t);
|
||||
LOGGER.debug("Failed to add extra Logger configuration: \n" + " Error: " + t.getMessage(), t);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static void importMainLogSettings(Properties mainProperties) throws IOException
|
||||
{
|
||||
File file = ((LoggerContext) LogManager.getContext()).getConfiguration().getConfigurationSource().getFile();
|
||||
if (file != null)
|
||||
{
|
||||
try (FileInputStream fis = new FileInputStream(file))
|
||||
{
|
||||
mainProperties.load(fis);
|
||||
}
|
||||
catch (FileNotFoundException e)
|
||||
{
|
||||
if (LOGGER.isDebugEnabled())
|
||||
{
|
||||
LOGGER.debug("Failed to find initial configuration: \n" + " Error: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void importLogSettings(String springUrl, Properties mainProperties)
|
||||
@@ -147,7 +168,7 @@ public class Log4JHierarchyInit implements ApplicationContextAware
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
logger.warn("Failed to find additional Logger configuration: " + springUrl);
|
||||
LOGGER.warn("Failed to find additional Logger configuration: " + springUrl);
|
||||
}
|
||||
|
||||
// Read each resource
|
||||
@@ -162,12 +183,13 @@ public class Log4JHierarchyInit implements ApplicationContextAware
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
if (logger.isDebugEnabled())
|
||||
if (LOGGER.isDebugEnabled())
|
||||
{
|
||||
logger.debug("Failed to add extra Logger configuration: \n" + " URL: " + springUrl + "\n"
|
||||
+ " Error: " + e.getMessage(), e);
|
||||
LOGGER.debug("Failed to add extra Logger configuration: \n" + " URL: " + springUrl + "\n"
|
||||
+ " Error: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -2,7 +2,7 @@
|
||||
* #%L
|
||||
* Alfresco Repository
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
||||
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
@@ -34,13 +34,13 @@ import org.alfresco.query.PagingResults;
|
||||
import org.alfresco.repo.admin.patch.AbstractPatch;
|
||||
import org.alfresco.repo.calendar.CalendarModel;
|
||||
import org.alfresco.service.cmr.calendar.CalendarEntry;
|
||||
import org.alfresco.service.cmr.calendar.CalendarEntryDTO;
|
||||
import org.alfresco.service.cmr.calendar.CalendarService;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.site.SiteInfo;
|
||||
import org.alfresco.service.cmr.site.SiteService;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.extensions.surf.util.I18NUtil;
|
||||
|
||||
/**
|
||||
@@ -57,7 +57,7 @@ public class CalendarAllDayEventDatesCorrectingPatch extends AbstractPatch
|
||||
{
|
||||
private static final String MSG_SUCCESS = "patch.calendarAllDayEventDatesCorrectingPatch.result";
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(CalendarAllDayEventDatesCorrectingPatch.class);
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(CalendarAllDayEventDatesCorrectingPatch.class);
|
||||
|
||||
private int batchSize = 1000;
|
||||
|
||||
|
@@ -1,20 +1,20 @@
|
||||
/*
|
||||
* #%L
|
||||
* Alfresco Repository
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* #%L
|
||||
* Alfresco Repository
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
@@ -35,7 +35,8 @@ import org.alfresco.repo.bulkimport.DirectoryAnalyser;
|
||||
import org.alfresco.repo.bulkimport.FilesystemTracker;
|
||||
import org.alfresco.repo.bulkimport.ImportableItem;
|
||||
import org.alfresco.util.PropertyCheck;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -44,7 +45,7 @@ import org.apache.log4j.Logger;
|
||||
*/
|
||||
public abstract class AbstractFilesystemTracker implements FilesystemTracker
|
||||
{
|
||||
protected static Logger logger = Logger.getLogger(FilesystemTracker.class);
|
||||
protected static Logger logger = LoggerFactory.getLogger(FilesystemTracker.class);
|
||||
|
||||
protected DirectoryAnalyser directoryAnalyser = null;
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* #%L
|
||||
* Alfresco Repository
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
||||
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
@@ -37,7 +37,8 @@ import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||
import org.alfresco.service.namespace.NamespaceException;
|
||||
import org.alfresco.service.namespace.NamespaceService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Abstract {@link EventFilter} implementation, containing common event filtering
|
||||
@@ -47,7 +48,7 @@ import org.apache.log4j.Logger;
|
||||
*/
|
||||
public abstract class AbstractNodeEventFilter implements EventFilter<QName>
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(AbstractNodeEventFilter.class);
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractNodeEventFilter.class);
|
||||
|
||||
private static final String MARKER_INCLUDE_SUBTYPES = "include_subtypes";
|
||||
private static final String WILDCARD = "*";
|
||||
|
@@ -13,16 +13,16 @@
|
||||
<!-- NOTE: value entries are listed from lowest precedence to highest. -->
|
||||
|
||||
<!-- Installed AMP modules -->
|
||||
<value>classpath*:alfresco/module/*/log4j.properties</value>
|
||||
<value>classpath*:alfresco/module/*/log4j2.properties</value>
|
||||
|
||||
<!-- Enterprise extensions -->
|
||||
<value>classpath*:alfresco/enterprise/*-log4j.properties</value>
|
||||
<value>classpath*:alfresco/enterprise/*-log4j2.properties</value>
|
||||
|
||||
<!-- Other installed extensions -->
|
||||
<value>classpath*:alfresco/extension/*-log4j.properties</value>
|
||||
<value>classpath*:alfresco/extension/*-log4j2.properties</value>
|
||||
|
||||
<!-- private developer overrides -->
|
||||
<value>classpath*:alfresco/extension/dev-log4j.properties</value>
|
||||
<value>classpath*:alfresco/extension/dev-log4j2.properties</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* #%L
|
||||
* Alfresco Repository
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
@@ -47,8 +47,9 @@ import org.alfresco.util.TestHelper;
|
||||
import org.alfresco.util.testing.category.DBTests;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.log4j.Level;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.logging.log4j.Level;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.core.config.Configurator;
|
||||
import org.junit.experimental.categories.Category;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
||||
@@ -389,8 +390,8 @@ public class JobLockServiceTest extends TestCase
|
||||
public synchronized void testLockCallbackReleaseSelf() throws Exception
|
||||
{
|
||||
// ACE-4347 extra debug logging just for this test so we can see what's going on when it next fails
|
||||
Level saveLogLevel = Logger.getLogger("org.alfresco.repo.lock").getLevel();
|
||||
Logger.getLogger("org.alfresco.repo.lock").setLevel(Level.ALL);
|
||||
Level saveLogLevel = LogManager.getLogger("org.alfresco.repo.lock").getLevel();
|
||||
Configurator.setLevel(LogManager.getLogger("org.alfresco.repo.lock"), Level.ALL);
|
||||
try
|
||||
{
|
||||
final QName lockQName = QName.createQName(NAMESPACE, getName());
|
||||
@@ -444,7 +445,7 @@ public class JobLockServiceTest extends TestCase
|
||||
}
|
||||
finally
|
||||
{
|
||||
Logger.getLogger("org.alfresco.repo.lock").setLevel(saveLogLevel);
|
||||
Configurator.setLevel(LogManager.getLogger("org.alfresco.repo.lock"), saveLogLevel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -520,8 +521,8 @@ public class JobLockServiceTest extends TestCase
|
||||
public void runGetLockWithCallback(int t)
|
||||
{
|
||||
// ACE-4347 extra debug logging just for this test so we can see what's going on when it next fails
|
||||
Level saveLogLevel = Logger.getLogger("org.alfresco.repo.lock").getLevel();
|
||||
Logger.getLogger("org.alfresco.repo.lock").setLevel(Level.ALL);
|
||||
Level saveLogLevel = LogManager.getLogger("org.alfresco.repo.lock").getLevel();
|
||||
Configurator.setLevel(LogManager.getLogger("org.alfresco.repo.lock"), Level.ALL);
|
||||
|
||||
logger.debug("runGetLockWithCallback "+t+
|
||||
"\n----------------------------------------"+
|
||||
@@ -618,7 +619,7 @@ public class JobLockServiceTest extends TestCase
|
||||
|
||||
logger.debug("runGetLockWithCallback\n----------------------------------------");
|
||||
|
||||
Logger.getLogger("org.alfresco.repo.lock").setLevel(saveLogLevel);
|
||||
Configurator.setLevel(LogManager.getLogger("org.alfresco.repo.lock"), saveLogLevel);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* #%L
|
||||
* Alfresco Repository
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
@@ -30,7 +30,7 @@ import org.junit.Test;
|
||||
|
||||
public class CheckRequiredClassesForLoggingConsoleUnitTest extends TestCase
|
||||
{
|
||||
private static final String CLASS_NAME = "org.apache.log4j.jmx.HierarchyDynamicMBean";
|
||||
private static final String CLASS_NAME = "org.apache.logging.log4j.core.jmx.Server";
|
||||
|
||||
@Test
|
||||
public void testRequiredClassIsOnAClasspath() throws ClassNotFoundException
|
||||
|
@@ -81,10 +81,12 @@ import org.alfresco.util.GUID;
|
||||
import org.alfresco.util.TempFileProvider;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.log4j.AppenderSkeleton;
|
||||
import org.apache.log4j.Level;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.log4j.spi.LoggingEvent;
|
||||
import org.apache.logging.log4j.Level;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.apache.logging.log4j.core.LogEvent;
|
||||
import org.apache.logging.log4j.core.appender.AbstractAppender;
|
||||
import org.apache.logging.log4j.core.config.plugins.Plugin;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
@@ -107,6 +109,7 @@ import static org.alfresco.repo.rendition2.TestSynchronousTransformClient.TEST_F
|
||||
import static org.alfresco.repo.rendition2.TestSynchronousTransformClient.TEST_LONG_RUNNING_MIME_TYPE;
|
||||
import static org.alfresco.repo.rendition2.TestSynchronousTransformClient.TEST_LONG_RUNNING_PROPERTY_VALUE;
|
||||
import static org.alfresco.repo.rendition2.TestSynchronousTransformClient.TEST_LONG_RUNNING_TRANSFORM_TIME;
|
||||
import static org.alfresco.util.log4j.Log4jAppenderUtil.addAbstractAppenderToLogger;
|
||||
|
||||
/**
|
||||
* Thumbnail service implementation unit test
|
||||
@@ -709,19 +712,19 @@ public class ThumbnailServiceImplTest extends BaseAlfrescoSpringTest
|
||||
*
|
||||
* That is useful if you need to use the log output for your tests.
|
||||
*/
|
||||
private class LogErrorAppender extends AppenderSkeleton
|
||||
@Plugin (name = "LogErrorAppender", category = "Core")
|
||||
private class LogErrorAppender extends AbstractAppender
|
||||
{
|
||||
|
||||
private final List<LoggingEvent> log = new ArrayList<LoggingEvent>();
|
||||
private final List<LogEvent> log = new ArrayList<LogEvent>();
|
||||
|
||||
@Override
|
||||
public boolean requiresLayout()
|
||||
protected LogErrorAppender()
|
||||
{
|
||||
return false;
|
||||
super("LogErrorAppender", null, null, false, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void append(final LoggingEvent loggingEvent)
|
||||
public void append(final LogEvent loggingEvent)
|
||||
{
|
||||
if(loggingEvent.getLevel() == Level.ERROR)
|
||||
{
|
||||
@@ -729,14 +732,9 @@ public class ThumbnailServiceImplTest extends BaseAlfrescoSpringTest
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close()
|
||||
public List<LogEvent> getLog()
|
||||
{
|
||||
}
|
||||
|
||||
public List<LoggingEvent> getLog()
|
||||
{
|
||||
return new ArrayList<LoggingEvent>(log);
|
||||
return new ArrayList<LogEvent>(log);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -750,7 +748,9 @@ public class ThumbnailServiceImplTest extends BaseAlfrescoSpringTest
|
||||
{
|
||||
// Add the log appender to the root logger
|
||||
LogErrorAppender logErrorAppender = new LogErrorAppender();
|
||||
Logger.getRootLogger().addAppender(logErrorAppender);
|
||||
Logger rootLogger = LogManager.getRootLogger();
|
||||
|
||||
addAbstractAppenderToLogger(logErrorAppender, rootLogger);
|
||||
|
||||
// create content node for thumbnail node
|
||||
NodeRef pdfOrig = createOriginalContent(folder, MimetypeMap.MIMETYPE_PDF);
|
||||
|
@@ -40,8 +40,8 @@ import org.alfresco.transform.config.TransformOptionValue;
|
||||
import org.alfresco.transform.config.Transformer;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.log4j.Level;
|
||||
import org.apache.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Level;
|
||||
import org.apache.logging.log4j.core.config.Configurator;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mock;
|
||||
@@ -217,7 +217,7 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryMo
|
||||
initTestData();
|
||||
|
||||
super.setUp();
|
||||
LogManager.getLogger(LocalTransformServiceRegistryConfigTest.class).setLevel(Level.DEBUG);
|
||||
Configurator.setLevel(LocalTransformServiceRegistryConfigTest.class, Level.DEBUG);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* #%L
|
||||
* Alfresco Repository
|
||||
* %%
|
||||
* Copyright (C) 2022 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
* #L%
|
||||
*/
|
||||
|
||||
package org.alfresco.util.log4j;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.apache.logging.log4j.core.LoggerContext;
|
||||
import org.apache.logging.log4j.core.appender.AbstractAppender;
|
||||
import org.apache.logging.log4j.core.config.Configuration;
|
||||
import org.apache.logging.log4j.core.config.Configurator;
|
||||
import org.apache.logging.log4j.core.config.LoggerConfig;
|
||||
|
||||
/**
|
||||
* A utility class to work with log4j2 Appenders in test mode.
|
||||
*
|
||||
* @author Aleksandra Onych
|
||||
*/
|
||||
public class Log4jAppenderUtil
|
||||
{
|
||||
public static void addAbstractAppenderToLogger(AbstractAppender appender, Logger logger)
|
||||
{
|
||||
final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
|
||||
final Configuration config = ctx.getConfiguration();
|
||||
appender.start();
|
||||
LoggerConfig loggerConfig = config.getLoggerConfig(logger.getName());
|
||||
loggerConfig.addAppender(appender, null, null);
|
||||
ctx.updateLoggers();
|
||||
}
|
||||
|
||||
public static void removeAbstractAppenderFromLogger(AbstractAppender appender, Logger logger)
|
||||
{
|
||||
final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
|
||||
final Configuration config = ctx.getConfiguration();
|
||||
appender.stop();
|
||||
LoggerConfig loggerConfig = config.getLoggerConfig(logger.getName());
|
||||
loggerConfig.removeAppender(appender.getName());
|
||||
ctx.updateLoggers();
|
||||
|
||||
appender = null;
|
||||
}
|
||||
}
|
@@ -1,5 +0,0 @@
|
||||
## Test to see that Log4J additions are picked up
|
||||
log4j.logger.org.alfresco.repo.model.filefolder.FileFolderPerformanceTester=DEBUG, consoleAppender
|
||||
log4j.logger.org.alfresco.repo.admin.Log4JHierarchyInitTest=DEBUG, consoleAppender
|
||||
log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
|
11
repository/src/test/resources/log4j/custom-log4j2.properties
Normal file
11
repository/src/test/resources/log4j/custom-log4j2.properties
Normal file
@@ -0,0 +1,11 @@
|
||||
## Test to see that Log4J additions are picked up
|
||||
logger.alfresco-repo-model-filefolder-FileFolderPerformanceTester.name=org.alfresco.repo.model.filefolder.FileFolderPerformanceTester
|
||||
logger.alfresco-repo-model-filefolder-FileFolderPerformanceTester.level=DEBUG
|
||||
logger.alfresco-repo-model-filefolder-FileFolderPerformanceTester.appenderRef.stdout.ref=consoleAppender
|
||||
logger.alfresco-repo-admin-Log4JHierarchyInitTest.name=org.alfresco.repo.admin.Log4JHierarchyInitTest
|
||||
logger.alfresco-repo-admin-Log4JHierarchyInitTest.level=DEBUG
|
||||
logger.alfresco-repo-admin-Log4JHierarchyInitTest.appenderRef.stdout.ref=consoleAppender
|
||||
|
||||
appender.console.type=Console
|
||||
appender.console.name=ConsoleAppender
|
||||
appender.console.layout.type=PatternLayout
|
@@ -8,8 +8,8 @@
|
||||
<property name="extraLog4jUrls">
|
||||
<list>
|
||||
<!-- Uses 'test-resources' folder, which is on the classpath -->
|
||||
<value>classpath*:log4j/custom-log4j.properties</value>
|
||||
<value>classpath*:log4j/log4j.properties</value>
|
||||
<value>classpath*:log4j/custom-log4j2.properties</value>
|
||||
<value>classpath*:log4j/log4j2.properties</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
@@ -1,2 +0,0 @@
|
||||
## Test to see that Log4J additions are picked up
|
||||
log4j.logger.org.alfresco.repo.admin.Log4JHierarchyInitTest=DEBUG
|
3
repository/src/test/resources/log4j/log4j2.properties
Normal file
3
repository/src/test/resources/log4j/log4j2.properties
Normal file
@@ -0,0 +1,3 @@
|
||||
## Test to see that Log4J additions are picked up
|
||||
logger.alfresco-repo-admin-Log4JHierarchyInitTest.name=org.alfresco.repo.admin.Log4JHierarchyInitTest
|
||||
logger.alfresco-repo-admin-Log4JHierarchyInitTest.level=DEBUG
|
Reference in New Issue
Block a user