diff --git a/api/pom.xml b/api/pom.xml
index b1dff324cf..dc952d41b6 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -68,6 +68,14 @@
com.fasterxml.jackson.core
jackson-databind
+
+ ch.qos.logback.contrib
+ logback-jackson
+
+
+ ch.qos.logback.contrib
+ logback-json-classic
+
diff --git a/subsys/jaxrs/src/main/java/org/commonjava/indy/bind/jaxrs/CustomJsonLayout.java b/api/src/main/java/org/commonjava/indy/CustomJsonLayout.java
similarity index 52%
rename from subsys/jaxrs/src/main/java/org/commonjava/indy/bind/jaxrs/CustomJsonLayout.java
rename to api/src/main/java/org/commonjava/indy/CustomJsonLayout.java
index c910ab3ced..13fd677b8d 100644
--- a/subsys/jaxrs/src/main/java/org/commonjava/indy/bind/jaxrs/CustomJsonLayout.java
+++ b/api/src/main/java/org/commonjava/indy/CustomJsonLayout.java
@@ -13,20 +13,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.commonjava.indy.bind.jaxrs;
+package org.commonjava.indy;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.contrib.json.classic.JsonLayout;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import org.commonjava.indy.conf.EnvironmentConfig;
-import org.commonjava.indy.model.core.io.IndyObjectMapper;
+import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.enterprise.inject.spi.CDI;
+import java.util.HashMap;
import java.util.Map;
-
-import static org.commonjava.indy.bind.jaxrs.RequestContextConstants.ENVIRONMENT;
+import java.util.stream.Stream;
/**
* Created by yma on 2019/3/26.
@@ -34,28 +31,45 @@
public class CustomJsonLayout
extends JsonLayout
{
+ public static final String ENVIRONMENT = "environment";
+
private final Logger logger = LoggerFactory.getLogger( getClass() );
+ private String environmentMappings;
+
+ private Map envars;
+
+ public String getEnvironmentMappings()
+ {
+ return environmentMappings;
+ }
+
+ public void setEnvironmentMappings( final String environmentMappings )
+ {
+ this.environmentMappings = environmentMappings;
+
+ String[] mappings = environmentMappings == null ? new String[0] : environmentMappings.split( "\\s*,\\s*" );
+ envars = new HashMap<>();
+ Stream.of(mappings).forEach( kv ->{
+ String[] keyAlias = kv.split( "\\s*=\\s*" );
+ if ( keyAlias.length > 1 )
+ {
+ String value = System.getenv( keyAlias[0].trim() );
+ if ( StringUtils.isEmpty( value ) )
+ {
+ value = "Unknown";
+ }
+
+ envars.put( keyAlias[1].trim(), value );
+ }
+ } );
+ }
+
@Override
protected void addCustomDataToJsonMap( Map map, ILoggingEvent iLoggingEvent )
{
- IndyObjectMapper objectMapper = new IndyObjectMapper( true );
super.addCustomDataToJsonMap( map, iLoggingEvent );
- if ( !iLoggingEvent.getMDCPropertyMap().isEmpty() )
- {
- Map mdcs = (Map) map.get( MDC_ATTR_NAME );
- try
- {
- Map envars = CDI.current().select( EnvironmentConfig.class ).get().getEnvars();
- mdcs.put( ENVIRONMENT, objectMapper.writeValueAsString( envars ) );
- }
- catch ( JsonProcessingException e )
- {
- mdcs.put( ENVIRONMENT, "{error: \"Envars could not be processed by Jackson.\"}" );
- logger.error( String.format( "Failed to create environment mdc. Reason: %s", e.getMessage() ), e );
- }
- map.put( MDC_ATTR_NAME, mdcs );
- }
+ map.put( ENVIRONMENT, envars );
}
}
diff --git a/deployments/launcher/src/main/etc/indy/logging/logback.xml b/deployments/launcher/src/main/etc/indy/logging/logback.xml
index e95738566f..7bb312d41f 100644
--- a/deployments/launcher/src/main/etc/indy/logging/logback.xml
+++ b/deployments/launcher/src/main/etc/indy/logging/logback.xml
@@ -82,43 +82,6 @@
-
-
-
@@ -134,9 +97,16 @@
-
@@ -193,14 +168,6 @@
-
-
-
-
diff --git a/subsys/jaxrs/src/main/java/org/commonjava/indy/bind/jaxrs/RequestContextConstants.java b/subsys/jaxrs/src/main/java/org/commonjava/indy/bind/jaxrs/RequestContextConstants.java
index 33e6985c15..b702556c0b 100644
--- a/subsys/jaxrs/src/main/java/org/commonjava/indy/bind/jaxrs/RequestContextConstants.java
+++ b/subsys/jaxrs/src/main/java/org/commonjava/indy/bind/jaxrs/RequestContextConstants.java
@@ -60,7 +60,4 @@ public class RequestContextConstants
@Thread @MDC
public static final String PREFERRED_ID = "preferred-id";
-
- @Thread @MDC
- public static final String ENVIRONMENT = "environment";
}