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