[ 
https://issues.apache.org/jira/browse/LOG4J2-1980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17160923#comment-17160923
 ] 

Yanming Zhou commented on LOG4J2-1980:
--------------------------------------

I confirm that weblogic load hibernate-validator before web application 
initialization, hibernate-validator will cause log4j2 initialize LogManager too 
early.
{code}
        at 
org.apache.logging.log4j.core.lookup.SystemPropertiesLookup.lookup(SystemPropertiesLookup.java:47)
        at 
org.apache.logging.log4j.core.lookup.AbstractLookup.lookup(AbstractLookup.java:33)
        at 
org.apache.logging.log4j.core.lookup.Interpolator.lookup(Interpolator.java:198)
        at 
org.apache.logging.log4j.core.lookup.StrSubstitutor.resolveVariable(StrSubstitutor.java:1060)
        at 
org.apache.logging.log4j.core.lookup.StrSubstitutor.substitute(StrSubstitutor.java:982)
        at 
org.apache.logging.log4j.core.lookup.StrSubstitutor.substitute(StrSubstitutor.java:878)
        at 
org.apache.logging.log4j.core.lookup.StrSubstitutor.replace(StrSubstitutor.java:433)
        at 
org.apache.logging.log4j.core.config.plugins.visitors.PluginBuilderAttributeVisitor.visit(PluginBuilderAttributeVisitor.java:49)
        at 
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.injectFields(PluginBuilder.java:185)
        at 
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:121)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
        at 
org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288)
        at 
org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:579)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:651)
        at 
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:668)
        at 
org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
        at 
org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:76)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:243)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
        at org.apache.logging.log4j.LogManager.getContext(LogManager.java:174)
        at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:648)
        at org.jboss.logging.Log4j2Logger.<init>(Log4j2Logger.java:36)
        at 
org.jboss.logging.Log4j2LoggerProvider.getLogger(Log4j2LoggerProvider.java:30)
        at 
org.jboss.logging.Log4j2LoggerProvider.getLogger(Log4j2LoggerProvider.java:26)
        at 
org.jboss.logging.LoggerProviders.logProvider(LoggerProviders.java:156)
        at org.jboss.logging.LoggerProviders.tryLog4j2(LoggerProviders.java:129)
        at 
org.jboss.logging.LoggerProviders.findProvider(LoggerProviders.java:91)
        at org.jboss.logging.LoggerProviders.find(LoggerProviders.java:34)
        at org.jboss.logging.LoggerProviders.<clinit>(LoggerProviders.java:31)
        at org.jboss.logging.Logger.getLogger(Logger.java:2465)
        at org.jboss.logging.Logger$1.run(Logger.java:2565)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529)
        at org.jboss.logging.Logger.getMessageLogger(Logger.java:2516)
        at 
org.hibernate.validator.internal.util.logging.LoggerFactory.make(LoggerFactory.java:22)
        at 
org.hibernate.validator.internal.util.Version.<clinit>(Version.java:20)
        at 
org.hibernate.validator.internal.engine.AbstractConfigurationImpl.<clinit>(AbstractConfigurationImpl.java:78)
        at 
org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:33)
        at 
javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:296)
        at 
weblogic.validation.injection.ValidationManager.getDefaultValidationBean(ValidationManager.java:228)
        at 
weblogic.validation.injection.ValidationManager.bindValidation(ValidationManager.java:70)
        at 
weblogic.application.naming.EnvironmentBuilder.bindValidation(EnvironmentBuilder.java:499)
        at 
weblogic.application.naming.EnvironmentBuilder.bindValidation(EnvironmentBuilder.java:487)
        at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:182)
        at 
weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:3239)
        at 
weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1866)
        at 
weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:908)
        at 
weblogic.application.internal.ExtensibleModuleWrapper$ActivateStateChange.next(ExtensibleModuleWrapper.java:317)
        at 
weblogic.application.internal.ExtensibleModuleWrapper$ActivateStateChange.next(ExtensibleModuleWrapper.java:313)
        at 
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
        at 
weblogic.application.internal.ExtensibleModuleWrapper.activate(ExtensibleModuleWrapper.java:121)
        at 
weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:114)
        at 
weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:212)
        at 
weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:207)
        at 
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
        at 
weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:57)
        at 
weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:114)
        at 
weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:752)
        at 
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
        at 
weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:262)
        at 
weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:52)
        at 
weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
        at 
weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:90)
        at 
weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:631)
        at 
weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:171)
        at 
weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:121)
        at 
weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:348)
        at 
weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:914)
        at 
weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1475)
        at 
weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:466)
        at 
weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:181)
        at 
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:217)
        at 
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:14)
        at 
weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:69)
        at 
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:677)
        at 
weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
        at 
weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
        at 
weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
        at 
weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
        at 
weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:651)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)

{code}

> log4j2.properties substitution ${} ie.${weblogic.Name} not working in 
> WebLogic 12.1.3
> -------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-1980
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1980
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.6.2
>         Environment: OS                                     :   Red Hat 
> Enterprise Linux Server release 6.7 (Santiago)
> java version                       :  1.8.0_131
> WebLogic Server Version  : 12.1.3.0.0
> Log4J jar                            : log4j-core-2.6.2.jar 
>            Reporter: Suyog Chinche
>            Priority: Major
>
> We are using $\{weblogic.Name}, which is weblogic system property used to 
> fetch weblogic server name. 
> This is not working in log4j2, whereas it was working in log4j earlier 
> version.
> <property file> 
> appender.userLog.fileName=/u01/app/product/fmw/logs/$\{weblogic.Name}_xai-user.log
> appender.userLog.filePattern=/u01/app/product/fmw/logs/$\{weblogic.Name}_xai-user.log.%d{yyyy-MM-dd}
> </property file>
> With the help of above log4j propertyfile, it is creating 
> $\{weblogic.Name}_xai-user.log file in /u01/app/product/fmw/logs 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to