diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp index c59a77c9f16baa..f9b98dd5d89569 100644 --- a/be/src/olap/compaction.cpp +++ b/be/src/olap/compaction.cpp @@ -523,7 +523,8 @@ Status CompactionMixin::do_inverted_index_compaction() { auto write_json_to_file = [&](const nlohmann::json& json_obj, const std::string& file_name) { io::FileWriterPtr file_writer; - std::string file_path = fmt::format("{}/{}.json", std::string(getenv("LOG_DIR")), file_name); + std::string file_path = + fmt::format("{}/{}.json", std::string(getenv("LOG_DIR")), file_name); RETURN_IF_ERROR(io::global_local_filesystem()->create_file(file_path, &file_writer)); RETURN_IF_ERROR(file_writer->append(json_obj.dump())); RETURN_IF_ERROR(file_writer->append("\n")); diff --git a/be/src/pipeline/pipeline_tracing.cpp b/be/src/pipeline/pipeline_tracing.cpp index 721ec4046c2e5d..96c6272bd1ffb2 100644 --- a/be/src/pipeline/pipeline_tracing.cpp +++ b/be/src/pipeline/pipeline_tracing.cpp @@ -124,8 +124,9 @@ void PipelineTracerContext::_dump(TUniqueId query_id) { THROW_IF_ERROR(writer.finalize()); THROW_IF_ERROR(writer.close()); } else if (_dump_type == RecordType::Periodic) { - auto path = log_dir / fmt::format("until{}", - std::chrono::steady_clock::now().time_since_epoch().count()); + auto path = + log_dir / + fmt::format("until{}", std::chrono::steady_clock::now().time_since_epoch().count()); int fd = ::open( path.c_str(), O_CREAT | O_WRONLY | O_TRUNC, S_ISGID | S_ISUID | S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP | S_IWOTH | S_IROTH); 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 8639f62af455fc..5d80a4bca7cbfa 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 @@ -62,9 +62,10 @@ public class Config extends ConfigBase { * sys_log_enable_compress: * default is false. if true, will compress fe.log & fe.warn.log by gzip */ + @Deprecated // use env var LOG_DIR instead @ConfField(description = {"FE 日志文件的存放路径,用于存放 fe.log。", "The path of the FE log file, used to store fe.log"}) - public static String sys_log_dir = System.getenv("DORIS_HOME") + "/log"; + public static String sys_log_dir = ""; @ConfField(description = {"FE 日志的级别", "The level of FE log"}, options = {"INFO", "WARN", "ERROR", "FATAL"}) public static String sys_log_level = "INFO"; @@ -101,7 +102,7 @@ public class Config extends ConfigBase { @ConfField(description = {"FE 审计日志文件的存放路径,用于存放 fe.audit.log。", "The path of the FE audit log file, used to store fe.audit.log"}) - public static String audit_log_dir = System.getenv("DORIS_HOME") + "/log"; + public static String audit_log_dir = System.getenv("LOG_DIR"); @ConfField(description = {"FE 审计日志文件的最大数量。超过这个数量后,最老的日志文件会被删除", "The maximum number of FE audit log files. " + "After exceeding this number, the oldest log file will be deleted"}) @@ -570,7 +571,7 @@ public class Config extends ConfigBase { public static String spark_resource_path = ""; @ConfField(description = {"Spark launcher 日志路径", "Spark launcher log dir"}) - public static String spark_launcher_log_dir = sys_log_dir + "/spark_launcher_log"; + public static String spark_launcher_log_dir = System.getenv("LOG_DIR") + "/spark_launcher_log"; @ConfField(description = {"Yarn client 的路径", "Yarn client path"}) public static String yarn_client_path = System.getenv("DORIS_HOME") + "/lib/yarn-client/hadoop/bin/yarn"; @@ -2463,7 +2464,7 @@ public class Config extends ConfigBase { @ConfField(description = {"nereids trace文件的存放路径。", "The path of the nereids trace file."}) - public static String nereids_trace_log_dir = System.getenv("DORIS_HOME") + "/log/nereids_trace"; + public static String nereids_trace_log_dir = System.getenv("LOG_DIR") + "/nereids_trace"; @ConfField(mutable = true, masterOnly = true, description = { "备份过程中,分配给每个be的upload任务最大个数,默认值为3个。", diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/io/DiskUtils.java b/fe/fe-common/src/main/java/org/apache/doris/common/io/DiskUtils.java index 4861f40fe8a67c..9e0a449c2ac386 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/io/DiskUtils.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/io/DiskUtils.java @@ -44,7 +44,6 @@ public static Df df(String dir) { return df; } - Process process; try { process = Runtime.getRuntime().exec("df -k " + dir); 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 c76459bac140ca..320cdd6114bcef 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 @@ -19,6 +19,7 @@ import org.apache.doris.httpv2.config.SpringLog4j2Config; +import com.google.common.base.Strings; import com.google.common.collect.Maps; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.core.LoggerContext; @@ -136,7 +137,9 @@ private static void reconfig() throws IOException { String newXmlConfTemplate = xmlConfTemplate; // sys log config - String sysLogDir = Config.sys_log_dir; + // ATTN, sys_log_dir is deprecated, use LOG_DIR instead + String sysLogDir = Strings.isNullOrEmpty(Config.sys_log_dir) ? System.getenv("LOG_DIR") : + Config.sys_log_dir; String sysRollNum = String.valueOf(Config.sys_log_roll_num); String sysDeleteAge = String.valueOf(Config.sys_log_delete_age); boolean compressSysLog = Config.sys_log_enable_compress; diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/LogController.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/LogController.java index 35656f5c4fb06b..d9d3dadfdf9bf8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/LogController.java +++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/LogController.java @@ -109,7 +109,8 @@ private void appendLogConf(Map> content, String addV private void appendLogInfo(Map> content) { Map map = new HashMap<>(); - final String logPath = Config.sys_log_dir + "/fe.warn.log"; + String logDir = Strings.isNullOrEmpty(Config.sys_log_dir) ? System.getenv("LOG_DIR") : Config.sys_log_dir; + final String logPath = logDir + "/fe.warn.log"; map.put("logPath", logPath); RandomAccessFile raf = null; diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/ExecuteEnv.java b/fe/fe-core/src/main/java/org/apache/doris/service/ExecuteEnv.java index ed1ae82a0325a8..2064bfb267fe39 100755 --- a/fe/fe-core/src/main/java/org/apache/doris/service/ExecuteEnv.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/ExecuteEnv.java @@ -22,6 +22,8 @@ import org.apache.doris.qe.ConnectScheduler; import org.apache.doris.qe.MultiLoadMgr; +import com.google.common.base.Strings; + import java.util.ArrayList; import java.util.List; @@ -40,9 +42,11 @@ private ExecuteEnv() { scheduler = new ConnectScheduler(Config.qe_max_connection); startupTime = System.currentTimeMillis(); processUUID = System.currentTimeMillis(); + String logDir = Strings.isNullOrEmpty(Config.sys_log_dir) ? System.getenv("LOG_DIR") : + Config.sys_log_dir; diskInfos = new ArrayList() {{ add(new FeDiskInfo("meta", Config.meta_dir, DiskUtils.df(Config.meta_dir))); - add(new FeDiskInfo("log", Config.sys_log_dir, DiskUtils.df(Config.sys_log_dir))); + add(new FeDiskInfo("log", logDir, DiskUtils.df(logDir))); add(new FeDiskInfo("audit-log", Config.audit_log_dir, DiskUtils.df(Config.audit_log_dir))); add(new FeDiskInfo("temp", Config.tmp_dir, DiskUtils.df(Config.tmp_dir))); add(new FeDiskInfo("deploy", System.getenv("DORIS_HOME"), DiskUtils.df(System.getenv("DORIS_HOME"))));