This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch dev-1.0.1 in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
commit 8c8e1729e37a3ce0630a1b09ac2a6c8acaa6b71b Author: yiguolei <676222...@qq.com> AuthorDate: Mon Apr 25 18:29:29 2022 +0800 [Improvement] not print logs to fe.out when fe is running under daemon mode (#9195) Co-authored-by: yiguolei <yiguo...@gmail.com> --- bin/start_fe.sh | 1 + fe/fe-core/src/main/java/org/apache/doris/PaloFe.java | 3 +++ .../src/main/java/org/apache/doris/common/Log4jConfig.java | 14 +++++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/bin/start_fe.sh b/bin/start_fe.sh index b9f1df0b8e..37a474ca4b 100755 --- a/bin/start_fe.sh +++ b/bin/start_fe.sh @@ -166,6 +166,7 @@ fi if [ ${RUN_DAEMON} -eq 1 ]; then nohup $LIMIT $JAVA $final_java_opt org.apache.doris.PaloFe ${HELPER} "$@" >> $LOG_DIR/fe.out 2>&1 < /dev/null & else + export DORIS_LOG_TO_STDERR=1 $LIMIT $JAVA $final_java_opt org.apache.doris.PaloFe ${HELPER} "$@" < /dev/null fi diff --git a/fe/fe-core/src/main/java/org/apache/doris/PaloFe.java b/fe/fe-core/src/main/java/org/apache/doris/PaloFe.java index c8ee60a4e1..2b04cbc90c 100755 --- a/fe/fe-core/src/main/java/org/apache/doris/PaloFe.java +++ b/fe/fe-core/src/main/java/org/apache/doris/PaloFe.java @@ -65,6 +65,9 @@ public class PaloFe { // entrance for doris frontend public static void start(String dorisHomeDir, String pidDir, String[] args) { + if (System.getenv("DORIS_LOG_TO_STDERR") != null) { + Log4jConfig.foreground = true; + } if (Strings.isNullOrEmpty(dorisHomeDir)) { System.err.println("env DORIS_HOME is not set."); return; diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/Log4jConfig.java b/fe/fe-core/src/main/java/org/apache/doris/common/Log4jConfig.java index 6f2dbf5f81..81ae11feb9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/Log4jConfig.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/Log4jConfig.java @@ -97,7 +97,7 @@ public class Log4jConfig extends XmlConfiguration { " <Root level=\"${sys_log_level}\">\n" + " <AppenderRef ref=\"Sys\"/>\n" + " <AppenderRef ref=\"SysWF\" level=\"WARN\"/>\n" + - " <AppenderRef ref=\"Console\"/>\n" + + " <!--REPLACED BY Console Logger-->\n" + " </Root>\n" + " <Logger name=\"audit\" level=\"ERROR\" additivity=\"false\">\n" + " <AppenderRef ref=\"Auditfile\"/>\n" + @@ -116,6 +116,12 @@ public class Log4jConfig extends XmlConfiguration { public static String confDir; // custom conf dir public static String customConfDir; + // Doris uses both system.out and log4j to print log messages. + // This variable is used to check whether to add console appender to loggers. + // If doris is running under daemon mode, then this variable == false, and console logger will not be added. + // If doris is not running under daemon mode, then this variable == true, and console logger will be added to + // loggers, all logs will be printed to console. + public static boolean foreground = false; private static void reconfig() throws IOException { String newXmlConfTemplate = xmlConfTemplate; @@ -167,6 +173,12 @@ public class Log4jConfig extends XmlConfiguration { newXmlConfTemplate = newXmlConfTemplate.replaceAll("<!--REPLACED BY AUDIT AND VERBOSE MODULE NAMES-->", sb.toString()); + if (foreground) { + StringBuilder consoleLogger = new StringBuilder(); + consoleLogger.append("<AppenderRef ref=\"Console\"/>\n"); + newXmlConfTemplate = newXmlConfTemplate.replaceAll("<!--REPLACED BY Console Logger-->", + consoleLogger.toString()); + } Map<String, String> properties = Maps.newHashMap(); properties.put("sys_log_dir", sysLogDir); properties.put("sys_file_pattern", sysLogRollPattern); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org