This is an automated email from the ASF dual-hosted git repository.

jin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hugegraph.git


The following commit(s) were added to refs/heads/master by this push:
     new c0a2b93e4 fix(docker): enable docker logs for pd/store/server 
containers (#2980)
c0a2b93e4 is described below

commit c0a2b93e455c2bfb4e571256e24571e80de89bd7
Author: Himanshu Verma <[email protected]>
AuthorDate: Sun Apr 5 07:52:48 2026 +0530

    fix(docker): enable docker logs for pd/store/server containers (#2980)
    
    * fix(docker): wire console appender to AsyncLogger for hugegraph server
---
 hugegraph-pd/Dockerfile                                     |  3 ++-
 .../src/assembly/static/bin/start-hugegraph-pd.sh           |  9 +++++++--
 hugegraph-pd/hg-pd-dist/src/assembly/static/conf/log4j2.xml |  1 +
 hugegraph-server/Dockerfile                                 |  3 ++-
 .../src/assembly/static/bin/hugegraph-server.sh             | 11 ++++++++---
 .../src/assembly/static/bin/start-hugegraph.sh              | 13 +++++++------
 .../hugegraph-dist/src/assembly/static/conf/log4j2.xml      |  2 ++
 hugegraph-store/Dockerfile                                  |  3 ++-
 .../src/assembly/static/bin/start-hugegraph-store.sh        | 13 ++++++++++---
 .../hg-store-dist/src/assembly/static/conf/log4j2.xml       |  1 +
 10 files changed, 42 insertions(+), 17 deletions(-)

diff --git a/hugegraph-pd/Dockerfile b/hugegraph-pd/Dockerfile
index 812e05e7d..3c0009392 100644
--- a/hugegraph-pd/Dockerfile
+++ b/hugegraph-pd/Dockerfile
@@ -35,7 +35,8 @@ LABEL maintainer="HugeGraph Docker Maintainers 
<[email protected]>"
 
 # TODO: use g1gc or zgc as default
 ENV JAVA_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseContainerSupport 
-XX:MaxRAMPercentage=50 -XshowSettings:vm" \
-    HUGEGRAPH_HOME="hugegraph-pd"
+    HUGEGRAPH_HOME="hugegraph-pd" \
+    STDOUT_MODE="true"
 
 #COPY . /hugegraph/hugegraph-pd
 WORKDIR /hugegraph-pd/
diff --git 
a/hugegraph-pd/hg-pd-dist/src/assembly/static/bin/start-hugegraph-pd.sh 
b/hugegraph-pd/hg-pd-dist/src/assembly/static/bin/start-hugegraph-pd.sh
index b5d5346f3..3bbdb1cf0 100755
--- a/hugegraph-pd/hg-pd-dist/src/assembly/static/bin/start-hugegraph-pd.sh
+++ b/hugegraph-pd/hg-pd-dist/src/assembly/static/bin/start-hugegraph-pd.sh
@@ -168,8 +168,13 @@ echo "Starting HugeGraphPDServer..."
 JVM_OPTIONS="-Dlog4j.configurationFile=${CONF}/log4j2.xml 
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"
 
 # Turn on security check
-exec ${JAVA} -Dname="HugeGraphPD" ${JVM_OPTIONS} ${JAVA_OPTIONS} -jar \
-    -Dspring.config.location=${CONF}/application.yml 
${LIB}/hg-pd-service-*.jar >> ${OUTPUT} 2>&1 &
+if [[ "${STDOUT_MODE:-false}" == "true" ]]; then
+    exec ${JAVA} -Dname="HugeGraphPD" ${JVM_OPTIONS} ${JAVA_OPTIONS} -jar \
+        -Dspring.config.location=${CONF}/application.yml 
${LIB}/hg-pd-service-*.jar &
+else
+    exec ${JAVA} -Dname="HugeGraphPD" ${JVM_OPTIONS} ${JAVA_OPTIONS} -jar \
+        -Dspring.config.location=${CONF}/application.yml 
${LIB}/hg-pd-service-*.jar >> ${OUTPUT} 2>&1 &
+fi
 
 PID="$!"
 # Write pid to file
diff --git a/hugegraph-pd/hg-pd-dist/src/assembly/static/conf/log4j2.xml 
b/hugegraph-pd/hg-pd-dist/src/assembly/static/conf/log4j2.xml
index a80494870..e0b5d9dc9 100644
--- a/hugegraph-pd/hg-pd-dist/src/assembly/static/conf/log4j2.xml
+++ b/hugegraph-pd/hg-pd-dist/src/assembly/static/conf/log4j2.xml
@@ -115,6 +115,7 @@
 
     <loggers>
         <root level="INFO">
+            <appender-ref ref="console" />
             <appender-ref ref="file" />
         </root>
         <logger name="com.alipay.sofa" level="INFO" additivity="false">
diff --git a/hugegraph-server/Dockerfile b/hugegraph-server/Dockerfile
index f7613f848..be316b852 100644
--- a/hugegraph-server/Dockerfile
+++ b/hugegraph-server/Dockerfile
@@ -36,7 +36,8 @@ LABEL maintainer="HugeGraph Docker Maintainers 
<[email protected]>"
 # TODO: use g1gc or zgc as default
 # Note: --add-exports is required for Java 11+ to access jdk.internal.reflect 
for auth proxy
 ENV JAVA_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseContainerSupport 
-XX:MaxRAMPercentage=50 -XshowSettings:vm 
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED" \
-    HUGEGRAPH_HOME="hugegraph-server"
+    HUGEGRAPH_HOME="hugegraph-server" \
+    STDOUT_MODE="true"
 
 #COPY . /hugegraph/hugegraph-server
 WORKDIR /hugegraph-server/
diff --git 
a/hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh 
b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh
index 857b9b535..c5f84d493 100644
--- 
a/hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh
+++ 
b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh
@@ -183,6 +183,11 @@ if [ "${OPEN_TELEMETRY}" == "true" ]; then
 fi
 
 # Turn on security check
-exec ${JAVA} -Dname="HugeGraphServer" ${JVM_OPTIONS} ${JAVA_OPTIONS} -cp 
${CLASSPATH}: \
-    org.apache.hugegraph.dist.HugeGraphServer ${GREMLIN_SERVER_CONF} 
${REST_SERVER_CONF} \
-    >> ${OUTPUT} 2>&1
+if [[ "${STDOUT_MODE:-false}" == "true" ]]; then
+    exec ${JAVA} -Dname="HugeGraphServer" ${JVM_OPTIONS} ${JAVA_OPTIONS} -cp 
${CLASSPATH}: \
+        org.apache.hugegraph.dist.HugeGraphServer ${GREMLIN_SERVER_CONF} 
${REST_SERVER_CONF}
+else
+    exec ${JAVA} -Dname="HugeGraphServer" ${JVM_OPTIONS} ${JAVA_OPTIONS} -cp 
${CLASSPATH}: \
+        org.apache.hugegraph.dist.HugeGraphServer ${GREMLIN_SERVER_CONF} 
${REST_SERVER_CONF} \
+        >> ${LOGS}/hugegraph-server-stdout.log 2>&1
+fi
diff --git 
a/hugegraph-server/hugegraph-dist/src/assembly/static/bin/start-hugegraph.sh 
b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/start-hugegraph.sh
index 30c276498..297ed47ca 100644
--- a/hugegraph-server/hugegraph-dist/src/assembly/static/bin/start-hugegraph.sh
+++ b/hugegraph-server/hugegraph-dist/src/assembly/static/bin/start-hugegraph.sh
@@ -99,17 +99,14 @@ if [[ $PRELOAD == "true" ]]; then
     sed -i -e '/registerBackends/d; /serverStarted/d' 
"${SCRIPTS}/${EXAMPLE_SCRIPT}"
 fi
 
-# TODO: show the output message in hugegraph-server.sh when start the server
 if [[ $DAEMON == "true" ]]; then
     echo "Starting HugeGraphServer in daemon mode..."
     "${BIN}"/hugegraph-server.sh "${CONF}/${GREMLIN_SERVER_CONF}" 
"${CONF}"/rest-server.properties \
-    "${OPEN_SECURITY_CHECK}" "${USER_OPTION}" "${GC_OPTION}" 
"${OPEN_TELEMETRY}" \
-    >>"${LOGS}"/hugegraph-server.log 2>&1 &
+    "${OPEN_SECURITY_CHECK}" "${USER_OPTION}" "${GC_OPTION}" 
"${OPEN_TELEMETRY}" &
 else
     echo "Starting HugeGraphServer in foreground mode..."
     "${BIN}"/hugegraph-server.sh "${CONF}/${GREMLIN_SERVER_CONF}" 
"${CONF}"/rest-server.properties \
-    "${OPEN_SECURITY_CHECK}" "${USER_OPTION}" "${GC_OPTION}" 
"${OPEN_TELEMETRY}" \
-    >>"${LOGS}"/hugegraph-server.log 2>&1
+    "${OPEN_SECURITY_CHECK}" "${USER_OPTION}" "${GC_OPTION}" 
"${OPEN_TELEMETRY}"
 fi
 
 PID="$!"
@@ -119,7 +116,11 @@ echo "$PID" > "$PID_FILE"
 trap 'kill $PID; exit' SIGHUP SIGINT SIGQUIT SIGTERM
 
 wait_for_startup ${PID} 'HugeGraphServer' "$REST_SERVER_URL/graphs" 
"${SERVER_STARTUP_TIMEOUT_S}" || {
-    echo "See $LOGS/hugegraph-server.log for HugeGraphServer log output." >&2
+    if [[ "${STDOUT_MODE:-false}" == "true" ]]; then
+        echo "See 'docker logs' for HugeGraphServer log output." >&2
+    else
+        echo "See $LOGS/hugegraph-server.log for HugeGraphServer log output." 
>&2
+    fi
     if [[ $DAEMON == "true" ]]; then
         exit 1
     fi
diff --git 
a/hugegraph-server/hugegraph-dist/src/assembly/static/conf/log4j2.xml 
b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/log4j2.xml
index f1dd7e839..cd2d9da56 100644
--- a/hugegraph-server/hugegraph-dist/src/assembly/static/conf/log4j2.xml
+++ b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/log4j2.xml
@@ -104,6 +104,7 @@
 
     <loggers>
         <root level="INFO">
+            <appender-ref ref="console"/>
             <appender-ref ref="file"/>
         </root>
         <logger name="org.apache.cassandra" level="INFO" additivity="false">
@@ -129,6 +130,7 @@
         </logger>
         <!-- Use mixed async way to output logs -->
         <AsyncLogger name="org.apache.hugegraph" level="INFO" 
additivity="false">
+            <appender-ref ref="console"/>
             <appender-ref ref="file"/>
         </AsyncLogger>
         <AsyncLogger name="org.apache.hugegraph.auth" level="INFO" 
additivity="false">
diff --git a/hugegraph-store/Dockerfile b/hugegraph-store/Dockerfile
index e14a31033..902043fb5 100644
--- a/hugegraph-store/Dockerfile
+++ b/hugegraph-store/Dockerfile
@@ -35,7 +35,8 @@ LABEL maintainer="HugeGraph Docker Maintainers 
<[email protected]>"
 
 # TODO: use g1gc or zgc as default
 ENV JAVA_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseContainerSupport 
-XX:MaxRAMPercentage=50 -XshowSettings:vm" \
-    HUGEGRAPH_HOME="hugegraph-store"
+    HUGEGRAPH_HOME="hugegraph-store" \
+    STDOUT_MODE="true"
 
 #COPY . /hugegraph/hugegraph-store
 WORKDIR /hugegraph-store/
diff --git 
a/hugegraph-store/hg-store-dist/src/assembly/static/bin/start-hugegraph-store.sh
 
b/hugegraph-store/hg-store-dist/src/assembly/static/bin/start-hugegraph-store.sh
index d8b965a07..17245e8b4 100755
--- 
a/hugegraph-store/hg-store-dist/src/assembly/static/bin/start-hugegraph-store.sh
+++ 
b/hugegraph-store/hg-store-dist/src/assembly/static/bin/start-hugegraph-store.sh
@@ -221,9 +221,16 @@ fi
 
 echo "Starting HG-StoreServer..."
 
-exec ${JAVA} -Dname="HugeGraphStore" ${JVM_OPTIONS} ${JAVA_OPTIONS} -jar \
-    -Dspring.config.location=${CONF}/application.yml \
-    ${LIB}/hg-store-node-*.jar >> ${OUTPUT} 2>&1 &
+# Turn on security check
+if [[ "${STDOUT_MODE:-false}" == "true" ]]; then
+    exec ${JAVA} -Dname="HugeGraphStore" ${JVM_OPTIONS} ${JAVA_OPTIONS} -jar \
+        -Dspring.config.location=${CONF}/application.yml \
+        ${LIB}/hg-store-node-*.jar &
+else
+    exec ${JAVA} -Dname="HugeGraphStore" ${JVM_OPTIONS} ${JAVA_OPTIONS} -jar \
+        -Dspring.config.location=${CONF}/application.yml \
+        ${LIB}/hg-store-node-*.jar >> ${OUTPUT} 2>&1 &
+fi
 
 PID="$!"
 # Write pid to file
diff --git a/hugegraph-store/hg-store-dist/src/assembly/static/conf/log4j2.xml 
b/hugegraph-store/hg-store-dist/src/assembly/static/conf/log4j2.xml
index 388d09e2f..f0cf11fc3 100644
--- a/hugegraph-store/hg-store-dist/src/assembly/static/conf/log4j2.xml
+++ b/hugegraph-store/hg-store-dist/src/assembly/static/conf/log4j2.xml
@@ -117,6 +117,7 @@
 
     <loggers>
         <root level="INFO">
+            <appender-ref ref="console"/>
             <appender-ref ref="file"/>
         </root>
         <logger name="com.alipay.sofa" level="INFO" additivity="false">

Reply via email to