[
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)