Class Log4JHierarchyInit

java.lang.Object
org.alfresco.repo.admin.Log4JHierarchyInit
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

public class Log4JHierarchyInit extends Object implements org.springframework.context.ApplicationContextAware
Initialises Log4j's HierarchyDynamicMBean (refer to core-services-context.xml) and any overriding log4.properties files. The actual implementation uses introspection to avoid any hard-coded references to Log4J classes. If Log4J is not present, this class will do nothing.

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:

      config/alfresco/module/{module.id}/log4j2.properties
 
At deployment time, this log4j2.properties file will be placed in:
      WEB-INF/classes/alfresco/module/{module.id}/log4j2.properties
 
Where {module.id} is whatever value is set within the AMP's module.properties file. For details, see: Developing an Alfresco Module

For example, if {module.id} is "org.alfresco.module.someModule", then within your source code you'll have:

 config / alfresco / module / org.alfresco.module.someModule / log4j2.properties
 

This would be deployed to:

 WEB - INF / classes / alfresco / module / org.alfresco.module.someModule / log4j2.properties
 
  • Constructor Details

    • Log4JHierarchyInit

      public Log4JHierarchyInit()
  • Method Details

    • setExtraLog4jUrls

      public void setExtraLog4jUrls(List<String> urls)
      Loads a set of augmenting/overriding log4j2.properties files from locations specified via an array of Spring URLS.

      This function supports Spring's syntax for retrieving multiple class path resources with the same name, via the "classpath*:" prefix. For details, see: PathMatchingResourcePatternResolver.

    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
      Throws:
      org.springframework.beans.BeansException
    • init

      public void init()