Sentinel icon indicating copy to clipboard operation
Sentinel copied to clipboard

[BUG] com.alibaba.csp.sentinel.log.LogBase#loadProperties() 日志输出bug

Open ldcsaa opened this issue 2 years ago • 3 comments

加载错误的 logLevelString 时,以下代码会输出令人费解的日志: Log level : INFO is invalid. Use default : INFO,应该把 System.out.println("Log level : " + logLevel + " is invalid. Use default : " + LOG_DEFAULT_LEVEL.toString()); 改为 System.out.println("Log level : " + logLevelString+ " is invalid. Use default : " + LOG_DEFAULT_LEVEL.toString());

    private static void loadProperties() {
        Properties properties = LogConfigLoader.getProperties();

        logOutputType = properties.get(LOG_OUTPUT_TYPE) == null ? logOutputType : properties.getProperty(LOG_OUTPUT_TYPE);
        if (!LOG_OUTPUT_TYPE_FILE.equalsIgnoreCase(logOutputType) && !LOG_OUTPUT_TYPE_CONSOLE.equalsIgnoreCase(logOutputType)) {
            logOutputType = LOG_OUTPUT_TYPE_FILE;
        }
        System.out.println("INFO: Sentinel log output type is: " + logOutputType);

        logCharSet = properties.getProperty(LOG_CHARSET) == null ? logCharSet : properties.getProperty(LOG_CHARSET);
        System.out.println("INFO: Sentinel log charset is: " + logCharSet);


        logBaseDir = properties.getProperty(LOG_DIR) == null ? logBaseDir : properties.getProperty(LOG_DIR);
        logBaseDir = addSeparator(logBaseDir);
        File dir = new File(logBaseDir);
        if (!dir.exists()) {
            if (!dir.mkdirs()) {
                System.err.println("ERROR: create Sentinel log base directory error: " + logBaseDir);
            }
        }
        System.out.println("INFO: Sentinel log base directory is: " + logBaseDir);

        String usePid = properties.getProperty(LOG_NAME_USE_PID);
        logNameUsePid = "true".equalsIgnoreCase(usePid);
        System.out.println("INFO: Sentinel log name use pid is: " + logNameUsePid);

        String logLevelString = properties.getProperty(LOG_LEVEL);
        if (logLevelString != null && (logLevelString = logLevelString.trim()).length() > 0) {
            try {
                logLevel = Level.parse(logLevelString);
            } catch (IllegalArgumentException e) {
                // 此处不应该用 logLevel ,而应该用 logLevelString
                System.out.println("Log level : " + logLevel + " is invalid. Use default : " + LOG_DEFAULT_LEVEL.toString());
            }
        }
        System.out.println("INFO: Sentinel log level is: " + logLevel);
    }

ldcsaa avatar Aug 03 '23 01:08 ldcsaa

Would you like to contribute a PR to improve it?

sczyh30 avatar Aug 03 '23 07:08 sczyh30

我想改一下试试,直接拉一个版本提交就行了吗?

sunwei-nj avatar Oct 13 '23 07:10 sunwei-nj

这个BUG已经改好了,我想认领一个BUG改一下。

sunwei-nj avatar Mar 27 '24 06:03 sunwei-nj