I should also reiterate that in a Spring Boot app logging is initialized at 
least 3 times. The first and possibly the second do not have a Spring 
Environment.

Ralph

> On Dec 31, 2019, at 8:39 AM, Ralph Goers <ralph.go...@dslextreme.com> wrote:
> 
> I assume this is a Spring Boot app?   The spring-cloud-config-client includes 
> a file named log4j2.system.properties. The values in that file are set as 
> system properties by Log4j 2, so Log4j2CloudConfigLoggingSystem will be used 
> as the LoggingSystem by Spring. Its initialize method sets the Spring 
> Environment into the context, so if that isn’t happening then one of those 
> things isn’t happening properly.
> 
> 
> Ralph
> 
>> On Dec 31, 2019, at 12:39 AM, buks...@gmail.com wrote:
>> 
>> Hi, 
>> 
>> 
>> 
>> I've been trying to get the Spring environment available in log4j2 for a
>> couple of weeks now.
>> 
>> Mostly using custom lookups and using the reload mechanism. I haven't fully
>> got it to work when log4j2 ver 2.13.0 got released so I switched over to try
>> make that work for me.
>> 
>> What happens is that the SpringEnvironmentHolder never gets initiated with
>> the Spring Environment.
>> 
>> The condition: [
>> 
>> if (environment == null && LogManager.getFactory() != null &&
>> LogManager.getFactory().hasContext(SpringEnvironmentHolder.class.getName(),
>> null, false)) {
>> 
>> ]
>> 
>> Is never true, even though the Spring property sources are mostly available:
>> [
>> 
>> Object obj =
>> LogManager.getContext(false).getObject(Log4j2CloudConfigLoggingSystem.ENVIRO
>> NMENT_KEY);
>> 
>> ]
>> 
>> 
>> 
>> Any ideas what I am doing wrong here?
>> 
>> My log4j2.properties file looks like this:
>> 
>> status=warn
>> name=Log4j2PropertiesConfig
>> packages=za.co.spsi.ice.config
>> 
>> property.log_dateformat_pattern=-yyyy-MM-dd HH:mm:ss.SSS
>> property.log_level_pattern=-%5p
>> property.pattern=%d{${log_dateformat_pattern:-yyyy-MM-dd HH:mm:ss.SSS}}
>> %highlight{${log_level_pattern:-%5p}}{FATAL=red blink, ERROR=red,
>> WARN=yellow bold, INFO=green, DEBUG=green bold, TRACE=blue}
>> %style{${sys:PID}}{magenta} [%15.15t] %style{%-40.40C{1.}}{cyan} :
>> %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
>> property.filename=./poe-buks.log
>> 
>> appender.null.type=Null
>> appender.null.name=LogNull
>> 
>> appender.console.type=Console
>> appender.console.name=LogToConsole
>> appender.console.layout.type=PatternLayout
>> appender.console.layout.pattern=${pattern}
>> 
>> appender.kafka.type=kafka
>> appender.kafka.name=LogToKafka
>> appender.kafka.topic=${spring:kafka.log.topic}
>> appender.kafka.properties1.type=Property
>> appender.kafka.properties1.name=bootstrap.servers
>> appender.kafka.properties1.value=${spring:spring.kafka.bootstrap-servers}
>> appender.kafka.syncSend=${spring:kafka.log.async}
>> appender.kafka.layout.type=PatternLayout
>> appender.kafka.layout.pattern=%d{${log_dateformat_pattern:-yyyy-MM-dd
>> HH:mm:ss.SSS}} %highlight{${log_level_pattern:-%5p}}{FATAL=red blink,
>> ERROR=red, WARN=yellow bold, INFO=green, DEBUG=green bold, TRACE=blue}
>> %style{${sys:PID}}{magenta} [%15.15t] %style{%-40.40C{1.}}{cyan} :
>> %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
>> 
>> # Rotate log file
>> appender.rolling.type=RollingFile
>> appender.rolling.name=LogToRollingFile
>> appender.rolling.fileName=${filename}
>> appender.rolling.filePattern=${filename}.%d{yyyy-MM-dd}.%i.gz
>> appender.rolling.layout.type=PatternLayout
>> appender.rolling.layout.pattern=${pattern}
>> appender.rolling.policies.type=Policies
>> appender.rolling.policies.time.type=TimeBasedTriggeringPolicy
>> appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
>> appender.rolling.policies.size.size=10MB
>> appender.rolling.strategy.type=DefaultRolloverStrategy
>> appender.rolling.strategy.max=10
>> 
>> appender.routing.type=Routing
>> appender.routing.name=LogToRoutingAppender
>> appender.routing.routes.type=Routes
>> appender.routing.routes.pattern=${sys:kafka.log.enabled}
>> appender.routing.routes.route1.type=Route
>> appender.routing.routes.route1.key=false
>> appender.routing.routes.route1.ref=LogNull
>> appender.routing.routes.route2.type=Route
>> appender.routing.routes.route2.key=true
>> appender.routing.routes.route2.ref=LogToKafka
>> 
>> logger.kafka.name=org.apache.kafka
>> logger.kafka.level=error
>> logger.kafka.additivity=false
>> logger.kafka.appenderRef.rolling.ref=LogToRollingFile
>> logger.kafka.appenderRef.routing.ref=LogToRoutingAppender
>> 
>> logger.spring-kafka.name=org.springframework.kafka
>> logger.spring-kafka.level=error
>> logger.spring-kafka.additivity=false
>> logger.spring-kafka.appenderRef.rolling.ref=LogToRollingFile
>> logger.spring-kafka.appenderRef.routing.ref=LogToRoutingAppender
>> 
>> logger.hibernate.name=org.hibernate
>> logger.hibernate.level=warn
>> logger.hibernate.additivity=false
>> logger.hibernate.appenderRef.rolling.ref=LogToRollingFile
>> logger.hibernate.appenderRef.routing.ref=LogToRoutingAppender
>> 
>> logger.apache.name=org.apache
>> logger.apache.level=warn
>> logger.apache.additivity=false
>> logger.apache.appenderRef.rolling.ref=LogToRollingFile
>> logger.apache.appenderRef.routing.ref=LogToRoutingAppender
>> 
>> #Root logger will log to
>> rootLogger.level=info
>> rootLogger.appenderRef.stdout.ref=LogToRollingFile
>> rootLogger.appenderRef.routing.ref=LogToRoutingAppender
>> 
>> 
>> 
>> 
>> 
>> Kind regards,
>> 
>> Buks
>> 
>> 
>> 
>> 
>> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org

Reply via email to