Example chart configuration
This section provides an example of a Helm Chart configuration for a Java application that utilizes a custom logger configuration stored in a ConfigMap. The example demonstrates how to properly define and attach the logger configuration file to the application, enabling centralized logging management without modifying the application code.
somTemplates:
somService:
global:
name: "som-service-audit-log"
secrets:
defaultSecret:
create: fasle
existingSecrets:
- name: dev-app-secret
- name: dev-mongodb-secret
configMap:
extraConfigMaps:
- name: "custom-logger-config"
fileName: "log4j2-json.xml"
isLoggerConfig: true
env:
- name: _JAVA_OPTIONS
value: "-XX:MaxRAMPercentage=60 -XX:+ExitOnOutOfMemoryError"
- name: SERVICE_NAME
value: "som-service-audit-log"
resources:
limits:
cpu: 1000m
memory: 512Mi
requests:
cpu: 500m
memory: 512Mi
apiVersion: v1
kind: ConfigMap
metadata:
name: custom-logger-config
data:
log4j2-json.xml: |
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
<Properties>
<Property name="LOG_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][$${ctx:orderId}] %style{%-40.40C{1.}}{cyan} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}</Property>
<Property name="SERVICE_NAME">${env:SERVICE_NAME:-default-service}</Property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT" follow="true">
<PatternLayout>
<Pattern>
{"@timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ}",
"level":"%p",
"message":"%m",
"ecs.version":"1.2.0",
"service.name":"${SERVICE_NAME}",
"event.dataset":"${SERVICE_NAME}",
"process.thread.name":"%t",
"logger":"%c"}%n
</Pattern>
</PatternLayout>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
<Logger level="OFF" name="com.sciamus.som" additivity="false">
</Logger>
</Loggers>
</Configuration>