Skip to content

Commit

Permalink
refactor(docker): avoid context collision on custom log4j2.xml (#5617)
Browse files Browse the repository at this point in the history
Signed-off-by: Mustafa Baser <mbaser@mail.com>
  • Loading branch information
iromli authored and devrimyatar committed Dec 30, 2023
1 parent 67d2b18 commit f48eb20
Show file tree
Hide file tree
Showing 11 changed files with 95 additions and 77 deletions.
28 changes: 14 additions & 14 deletions docker-jans-auth-server/jetty/log4j2.xml
Expand Up @@ -2,7 +2,7 @@

<Configuration packages="io.jans.log">
<Properties>
<Property name="log.console.prefix" value="auth" />
<Property name="auth.log.console.prefix" value="auth" />
</Properties>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
Expand Down Expand Up @@ -103,66 +103,66 @@
<Logger name="org.hibernate" level="error" />

<Logger name="io.jans.as.server.audit.debug" level="$http_log_level" additivity="false">
<Property name="log.console.group">-http</Property>
<Property name="auth.log.console.group">-http</Property>
<AppenderRef ref="$http_log_target" />
</Logger>

<Logger name="io.jans.orm" level="$persistence_log_level" additivity="false">
<Property name="log.console.group">-persistence</Property>
<Property name="auth.log.console.group">-persistence</Property>
<AppenderRef ref="$persistence_log_target" />
</Logger>

<Logger name="com.unboundid.ldap.sdk.LDAPConnection" level="$persistence_log_level" additivity="false">
<Property name="log.console.group">-persistence</Property>
<Property name="auth.log.console.group">-persistence</Property>
<AppenderRef ref="$persistence_log_target" />
</Logger>
<logger name="com.couchbase.client" level="$persistence_log_level" additivity="false">
<Property name="log.console.group">-persistence</Property>
<Property name="auth.log.console.group">-persistence</Property>
<AppenderRef ref="$persistence_log_target" />
</logger>

<Logger name="io.jans.orm.ldap.operation.watch" level="$persistence_duration_log_level" additivity="false">
<Property name="log.console.group">-persistence-duration</Property>
<Property name="auth.log.console.group">-persistence-duration</Property>
<AppenderRef ref="$persistence_duration_log_target" />
</Logger>

<Logger name="io.jans.orm.couchbase.operation.watch" level="$persistence_duration_log_level" additivity="false">
<Property name="log.console.group">-persistence-duration</Property>
<Property name="auth.log.console.group">-persistence-duration</Property>
<AppenderRef ref="$persistence_duration_log_target" />
</Logger>

<Logger name="io.jans.orm.watch" level="$persistence_duration_log_level" additivity="false">
<Property name="log.console.group">-persistence-duration</Property>
<Property name="auth.log.console.group">-persistence-duration</Property>
<AppenderRef ref="$persistence_duration_log_target" />
</Logger>

<Logger name="io.jans.as.server.service.status.ldap" level="$ldap_stats_log_level" additivity="false">
<Property name="log.console.group">-ldap-stats</Property>
<Property name="auth.log.console.group">-ldap-stats</Property>
<AppenderRef ref="$ldap_stats_log_target" />
</Logger>

<Logger name="io.jans.service.PythonService" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="auth.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

<Logger name="io.jans.service.custom.script" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="auth.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

<Logger name="io.jans.as.server.service.custom" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="auth.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

<Logger name="io.jans.agama.engine.script.LogUtils" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="auth.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

<Logger name="io.jans.as.server.audit.ApplicationAuditLogger" level="$audit_log_level" additivity="false">
<Property name="log.console.group">-audit</Property>
<Property name="auth.log.console.group">-audit</Property>
<AppenderRef ref="$audit_log_target" />
</Logger>

Expand Down
7 changes: 5 additions & 2 deletions docker-jans-auth-server/scripts/bootstrap.py
Expand Up @@ -202,8 +202,11 @@ def configure_logging():
if config[key] == "FILE":
config[key] = value

if as_boolean(custom_config.get("enable_stdout_log_prefix")):
config["log_prefix"] = "${sys:log.console.prefix}%X{log.console.group} - "
if any([
as_boolean(custom_config.get("enable_stdout_log_prefix")),
as_boolean(os.environ.get("CN_ENABLE_STDOUT_LOG_PREFIX"))
]):
config["log_prefix"] = "${sys:auth.log.console.prefix}%X{auth.log.console.group} - "

with open("/app/templates/log4j2.xml") as f:
txt = f.read()
Expand Down
26 changes: 13 additions & 13 deletions docker-jans-config-api/jetty/log4j2.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="ERROR">
<Properties>
<Property name="log.console.prefix" value="config-api" />
<Property name="config_api.log.console.prefix" value="config-api" />
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
Expand Down Expand Up @@ -73,62 +73,62 @@
</Logger>

<Logger name="audit" level="$audit_log_level" additivity="false">
<Property name="log.console.group">-audit</Property>
<Property name="config_api.log.console.group">-audit</Property>
<AppenderRef ref="$audit_log_target" />
</Logger>

<Logger name="io.jans.orm" level="$persistence_log_level" additivity="false">
<Property name="log.console.group">-persistence</Property>
<Property name="config_api.log.console.group">-persistence</Property>
<AppenderRef ref="$persistence_log_target" />
</Logger>

<Logger name="com.unboundid.ldap.sdk.LDAPConnection" level="$persistence_log_level" additivity="false">
<Property name="log.console.group">-persistence</Property>
<Property name="config_api.log.console.group">-persistence</Property>
<AppenderRef ref="$persistence_log_target" />
</Logger>

<Logger name="com.couchbase.client" level="$persistence_log_level" additivity="false">
<Property name="log.console.group">-persistence</Property>
<Property name="config_api.log.console.group">-persistence</Property>
<AppenderRef ref="$persistence_log_target" />
</Logger>

<Logger name="io.jans.orm.ldap.operation.watch" level="$persistence_duration_log_level" additivity="false">
<Property name="log.console.group">-persistence-duration</Property>
<Property name="config_api.log.console.group">-persistence-duration</Property>
<AppenderRef ref="$persistence_duration_log_target" />
</Logger>

<Logger name="io.jans.orm.couchbase.operation.watch" level="$persistence_duration_log_level" additivity="false">
<Property name="log.console.group">-persistence-duration</Property>
<Property name="config_api.log.console.group">-persistence-duration</Property>
<AppenderRef ref="$persistence_duration_log_target" />
</Logger>

<Logger name="io.jans.orm.watch" level="$persistence_duration_log_level" additivity="false">
<Property name="log.console.group">-persistence-duration</Property>
<Property name="config_api.log.console.group">-persistence-duration</Property>
<AppenderRef ref="$persistence_duration_log_target" />
</Logger>

<Logger name="io.jans.as.server.service.status.ldap" level="$ldap_stats_log_level" additivity="false">
<Property name="log.console.group">-ldap-stats</Property>
<Property name="config_api.log.console.group">-ldap-stats</Property>
<AppenderRef ref="$ldap_stats_log_target" />
</Logger>

<Logger name="io.jans.service.PythonService" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="config_api.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

<Logger name="io.jans.service.custom.script" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="config_api.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

<Logger name="io.jans.as.server.service.custom" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="config_api.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

<Logger name="io.jans.service.external" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="config_api.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

Expand Down
6 changes: 3 additions & 3 deletions docker-jans-config-api/plugins/admin-ui/log4j2-adminui.xml
Expand Up @@ -2,7 +2,7 @@

<Configuration packages="io.jans.log">
<Properties>
<Property name="log.console.prefix.admin-ui" value="config-api" />
<Property name="admin_ui.log.console.prefix" value="config-api" />
</Properties>
<Appenders>
<Console name="AdminUI_Console" target="SYSTEM_OUT">
Expand Down Expand Up @@ -34,11 +34,11 @@

<Loggers>
<Logger name="io.jans.ca.plugin.adminui.rest.logging" level="$admin_ui_audit_log_level" additivity="false">
<Property name="log.console.group.admin-ui">/admin-ui-audit</Property>
<Property name="admin_ui.log.console.group">-admin-ui-audit</Property>
<AppenderRef ref="$admin_ui_audit_log_target" />
</Logger>
<Logger name="io.jans.ca.plugin.adminui" level="$admin_ui_log_level" additivity="false">
<Property name="log.console.group.admin-ui">/admin-ui</Property>
<Property name="admin_ui.log.console.group">-admin-ui</Property>
<AppenderRef ref="$admin_ui_log_target" />
</Logger>
</Loggers>
Expand Down
16 changes: 11 additions & 5 deletions docker-jans-config-api/scripts/bootstrap.py
Expand Up @@ -235,8 +235,11 @@ def configure_logging():
else:
config[key] = file_aliases[key]

if as_boolean(custom_config.get("enable_stdout_log_prefix")):
config["log_prefix"] = "${sys:log.console.prefix}%X{log.console.group} - "
if any([
as_boolean(custom_config.get("enable_stdout_log_prefix")),
as_boolean(os.environ.get("CN_ENABLE_STDOUT_LOG_PREFIX")),
]):
config["log_prefix"] = "${sys:config_api.log.console.prefix}%X{config_api.log.console.group} - "

with open("/app/templates/log4j2.xml") as f:
txt = f.read()
Expand Down Expand Up @@ -266,7 +269,7 @@ def configure_admin_ui_logging():

# ensure custom config is ``dict`` type
if not isinstance(custom_config, dict):
logger.warning("Invalid data type for CN_CONFIG_API_APP_LOGGERS; fallback to defaults")
logger.warning("Invalid data type for CN_ADMIN_UI_PLUGIN_LOGGERS; fallback to defaults")
custom_config = {}

# list of supported levels; OFF is not supported
Expand Down Expand Up @@ -305,8 +308,11 @@ def configure_admin_ui_logging():
else:
config[key] = file_aliases[key]

if as_boolean(custom_config.get("enable_stdout_log_prefix")):
config["log_prefix"] = "${sys:log.console.prefix.admin-ui}%X{log.console.group.admin-ui} - "
if any([
as_boolean(custom_config.get("enable_stdout_log_prefix")),
as_boolean(os.environ.get("CN_ENABLE_STDOUT_LOG_PREFIX")),
]):
config["log_prefix"] = "${sys:admin_ui.log.console.prefix}%X{admin_ui.log.console.group} - "

with open("/app/plugins/admin-ui/log4j2-adminui.xml") as f:
txt = f.read()
Expand Down
20 changes: 10 additions & 10 deletions docker-jans-fido2/jetty/log4j2.xml
Expand Up @@ -2,7 +2,7 @@

<Configuration packages="io.jans.log">
<Properties>
<Property name="log.console.prefix" value="fido2" />
<Property name="fido2.log.console.prefix" value="fido2" />
</Properties>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
Expand Down Expand Up @@ -60,47 +60,47 @@
</Logger>

<Logger name="io.jans.orm" level="$persistence_log_level" additivity="false">
<Property name="log.console.group">-persistence</Property>
<Property name="fido2.log.console.group">-persistence</Property>
<AppenderRef ref="$persistence_log_target" />
</Logger>

<Logger name="com.unboundid.ldap.sdk.LDAPConnection" level="$persistence_log_level" additivity="false">
<Property name="log.console.group">-persistence</Property>
<Property name="fido2.log.console.group">-persistence</Property>
<AppenderRef ref="$persistence_log_target" />
</Logger>

<logger name="com.couchbase.client" level="$persistence_log_level" additivity="false">
<Property name="log.console.group">-persistence</Property>
<Property name="fido2.log.console.group">-persistence</Property>
<AppenderRef ref="$persistence_log_target" />
</logger>

<Logger name="io.jans.orm.ldap.operation.watch" level="$persistence_duration_log_level" additivity="false">
<Property name="log.console.group">-persistence-duration</Property>
<Property name="fido2.log.console.group">-persistence-duration</Property>
<AppenderRef ref="$persistence_duration_log_target" />
</Logger>

<Logger name="io.jans.orm.couchbase.operation.watch" level="$persistence_duration_log_level" additivity="false">
<Property name="log.console.group">-persistence-duration</Property>
<Property name="fido2.log.console.group">-persistence-duration</Property>
<AppenderRef ref="$persistence_duration_log_target" />
</Logger>

<Logger name="io.jans.orm.watch" level="$persistence_duration_log_level" additivity="false">
<Property name="log.console.group">-persistence-duration</Property>
<Property name="fido2.log.console.group">-persistence-duration</Property>
<AppenderRef ref="$persistence_duration_log_target" />
</Logger>

<Logger name="io.jans.service.PythonService" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="fido2.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

<Logger name="io.jans.service.custom.script" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="fido2.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

<Logger name="io.jans.fido2.service.shared" level="$script_log_level" additivity="false">
<Property name="log.console.group">-script</Property>
<Property name="fido2.log.console.group">-script</Property>
<AppenderRef ref="$script_log_target" />
</Logger>

Expand Down
7 changes: 5 additions & 2 deletions docker-jans-fido2/scripts/bootstrap.py
Expand Up @@ -189,8 +189,11 @@ def configure_logging():
if config[key] == "FILE":
config[key] = value

if as_boolean(custom_config.get("enable_stdout_log_prefix")):
config["log_prefix"] = "${sys:log.console.prefix}%X{log.console.group} - "
if any([
as_boolean(custom_config.get("enable_stdout_log_prefix")),
as_boolean(os.environ.get("CN_ENABLE_STDOUT_LOG_PREFIX")),
]) :
config["log_prefix"] = "${sys:fido2.log.console.prefix}%X{fido2.log.console.group} - "

with open("/app/templates/log4j2.xml") as f:
txt = f.read()
Expand Down

0 comments on commit f48eb20

Please sign in to comment.