This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch branch-3.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 61542cdbd78b82df05a17b66777f5de372e9f624 Author: Mingyu Chen <[email protected]> AuthorDate: Mon Aug 19 17:48:04 2024 +0800 [fix](fe-log) add position info in async mode (#39419) followup #37793 NORMAL: sync flush + with location ASYNC(default): async flush + with location BRIEF: async flush + without location --- .../src/main/java/org/apache/doris/common/Config.java | 14 +++++++------- .../src/main/java/org/apache/doris/common/Log4jConfig.java | 9 +++++++-- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java index 88be23b1af9..7295edac08f 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java @@ -72,13 +72,13 @@ public class Config extends ConfigBase { @ConfField(description = {"FE 日志的级别", "The level of FE log"}, options = {"INFO", "WARN", "ERROR", "FATAL"}) public static String sys_log_level = "INFO"; - @ConfField(description = {"FE 日志的输出模式,其中 NORMAL 模式是日志同步输出且包含位置信息,BRIEF 模式是日志同步输出" - + "但不包含位置信息,ASYNC 模式为默认的输出模式,是日志异步输出且不包含位置信息,三种日志输出模式的性能依次递增", - "The output mode of FE log, and NORMAL mode means the logs are synchronized and contain location " - + "information. BRIEF mode is synchronized and does not contain location information. " - + "ASYNC mode is the default output mode, which is asynchronous and does not contain " - + "location information. The performance of the three log output modes increases in sequence"}, - options = {"NORMAL", "BRIEF", "ASYNC"}) + @ConfField(description = {"FE 日志的输出模式,其中 NORMAL 模式是日志同步输出且包含位置信息;ASYNC 模式为默认模式,日志异步输出" + + "且包含位置信息;BRIEF 是日志异步输出但不包含位置信息,三种日志输出模式的性能依次递增", + "The output mode of FE log. NORMAL mode is synchronous output with location information; " + + "ASYNC mode is the default mode, asynchronous output with location information; " + + "BRIEF is asynchronous output without location information. " + + "The performance of the three log output modes increases in turn"}, + options = {"NORMAL", "ASYNC", "BRIEF"}) public static String sys_log_mode = "ASYNC"; @ConfField(description = {"FE 日志文件的最大数量。超过这个数量后,最老的日志文件会被删除", 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 5395de076ae..206d1cb2089 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 @@ -298,8 +298,13 @@ public class Log4jConfig extends XmlConfiguration { properties.put("warn_sys_accumulated_file_size", String.valueOf(Config.warn_sys_accumulated_file_size)); properties.put("audit_sys_accumulated_file_size", String.valueOf(Config.audit_sys_accumulated_file_size)); - properties.put("include_location_flag", sysLogMode.equalsIgnoreCase("NORMAL") ? "true" : "false"); - properties.put("immediate_flush_flag", sysLogMode.equalsIgnoreCase("ASYNC") ? "false" : "true"); + // BRIEF: async, no location + // ASYNC: async, with location + // NORMAL: sync, with location + boolean includeLocation = !sysLogMode.equalsIgnoreCase("BRIEF"); + boolean immediateFlush = sysLogMode.equalsIgnoreCase("NORMAL"); + properties.put("include_location_flag", Boolean.toString(includeLocation)); + properties.put("immediate_flush_flag", Boolean.toString(immediateFlush)); properties.put("audit_file_postfix", compressAuditLog ? ".gz" : ""); strSub = new StrSubstitutor(new Interpolator(properties)); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
