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">