Buks,

Where you able to find the problem?

Ralph

> On Dec 31, 2019, at 9:11 AM, Ralph Goers <ralph.go...@dslextreme.com> wrote:
> 
> 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
> 
> 



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