cleanup [diagnostic]: needlessly extracted method; minor optimization; formatting

GitOrigin-RevId: d4900d7dae944dbc4a64aa1111a0ab2ac8474a56
This commit is contained in:
Roman Shevchenko
2025-11-14 20:19:20 +00:00
committed by intellij-monorepo-bot
parent f9631d2570
commit 85ec96def7
3 changed files with 26 additions and 36 deletions
@@ -3,6 +3,7 @@ package org.jetbrains.jps.cmdline;
import com.intellij.openapi.diagnostic.JulLogger;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.api.GlobalOptions;
@@ -18,6 +19,7 @@ import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.logging.Filter;
import java.util.logging.Level;
import java.util.logging.LogManager;
import static com.intellij.openapi.diagnostic.InMemoryHandler.FAILED_BUILD_LOG_FILE_NAME_PREFIX;
@@ -49,9 +51,11 @@ public final class LogSetup {
List<String> classesToFilter = acceptConfig(configFile);
if (!classesToFilter.isEmpty()) {
filter = JulLogger.createFilter(classesToFilter);
filter = record -> record.getLevel().intValue() > Level.FINE.intValue() ||
!ContainerUtil.exists(classesToFilter, record.getLoggerName()::startsWith);
}
} else {
}
else {
JulLogger.clearHandlers();
try (InputStream in = new BufferedInputStream(Files.newInputStream(configFile))) {
LogManager.getLogManager().readConfiguration(in);
@@ -37,11 +37,14 @@ public final class LoggerFactory implements Logger.Factory {
var enableConsoleLogger = !logToJsonStdout && Boolean.parseBoolean(System.getProperty("idea.log.console", "true"));
var append = Boolean.parseBoolean(System.getProperty("idea.log.append", "true"));
boolean isInternal = Boolean.getBoolean(ApplicationManagerEx.IS_INTERNAL_PROPERTY);
var persistAttachments = Boolean.parseBoolean(System.getProperty("idea.log.persist.attachments", Boolean.toString(isInternal)));
var writeAttachments = Boolean.parseBoolean(
System.getProperty("idea.log.persist.attachments", System.getProperty(ApplicationManagerEx.IS_INTERNAL_PROPERTY))
);
JulLogger.configureLogFileAndConsole(getLogFilePath(), append, enableConsoleLogger, true, persistAttachments,
() -> IdeaLogger.dropFrequentExceptionsCaches(), null, null);
JulLogger.configureLogFileAndConsole(
getLogFilePath(), append, enableConsoleLogger, true, writeAttachments,
() -> IdeaLogger.dropFrequentExceptionsCaches(), null, null
);
var dialogAppender = new DialogAppender();
dialogAppender.setLevel(Level.SEVERE);
@@ -2,13 +2,11 @@
package com.intellij.openapi.diagnostic;
import com.intellij.openapi.util.ShutDownTracker;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.*;
import java.lang.reflect.Field;
import java.nio.file.Path;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.logging.*;
import static com.intellij.openapi.diagnostic.AsyncLogKt.log;
@@ -108,13 +106,12 @@ public class JulLogger extends Logger {
}
}
@ApiStatus.Internal
public static void configureLogFileAndConsole(
@NotNull Path logFilePath,
boolean appendToFile,
boolean enableConsoleLogger,
boolean showDateInConsole,
boolean enablePersistingAttachments,
boolean writeAttachments,
@Nullable Runnable onRotate,
@Nullable Filter filter,
@Nullable Path inMemoryLogPath
@@ -124,7 +121,7 @@ public class JulLogger extends Logger {
rootLogger.addHandler(configureFileHandler(logFilePath, appendToFile, onRotate, LOG_FILE_SIZE_LIMIT, LOG_FILE_COUNT, layout, filter));
if (enablePersistingAttachments) {
if (writeAttachments) {
rootLogger.addHandler(configureAttachmentHandler(logFilePath, filter));
}
@@ -133,15 +130,13 @@ public class JulLogger extends Logger {
}
if (inMemoryLogPath != null) {
rootLogger.addHandler(configureInMemoryHandler(inMemoryLogPath));
rootLogger.addHandler(configureInMemoryHandler(inMemoryLogPath, filter));
}
}
private static @NotNull Handler configureAttachmentHandler(@NotNull Path path, @Nullable Filter filter) {
private static Handler configureAttachmentHandler(Path path, @Nullable Filter filter) {
AttachmentHandler handler = new AttachmentHandler(path);
if (filter != null) {
handler.setFilter(filter);
}
if (filter != null) handler.setFilter(filter);
return handler;
}
@@ -149,46 +144,34 @@ public class JulLogger extends Logger {
OptimizedConsoleHandler consoleHandler = new OptimizedConsoleHandler();
consoleHandler.setFormatter(new IdeaLogRecordFormatter(showDateInConsole, layout));
consoleHandler.setLevel(Level.WARNING);
if (filter != null) {
consoleHandler.setFilter(filter);
}
if (filter != null) consoleHandler.setFilter(filter);
return consoleHandler;
}
private static InMemoryHandler configureInMemoryHandler(Path logFilePath) {
private static Handler configureInMemoryHandler(Path logFilePath, @Nullable Filter filter) {
InMemoryHandler inMemoryHandler = new InMemoryHandler(logFilePath);
inMemoryHandler.setFormatter(new IdeaLogRecordFormatter());
inMemoryHandler.setLevel(Level.FINEST);
if (filter != null) inMemoryHandler.setFilter(filter);
return inMemoryHandler;
}
@SuppressWarnings("SameParameterValue")
private static RollingFileHandler configureFileHandler(
@NotNull Path logFilePath,
private static Handler configureFileHandler(
Path logFilePath,
boolean appendToFile,
@Nullable Runnable onRotate,
long limit,
int count,
@SuppressWarnings("SameParameterValue") long limit,
@SuppressWarnings("SameParameterValue") int count,
IdeaLogRecordFormatter layout,
@Nullable Filter filter
) {
RollingFileHandler fileHandler = new RollingFileHandler(logFilePath, limit, count, appendToFile, onRotate);
fileHandler.setFormatter(layout);
fileHandler.setLevel(Level.FINEST);
if (filter != null) {
fileHandler.setFilter(filter);
}
if (filter != null) fileHandler.setFilter(filter);
return fileHandler;
}
public static Filter createFilter(@NotNull List<String> classesToFilter) {
return record -> {
String loggerName = record.getLoggerName();
boolean isFiltered = ContainerUtil.exists(classesToFilter, loggerName::startsWith);
return !isFiltered || record.getLevel().intValue() > Level.FINE.intValue();
};
}
private static final class OptimizedConsoleHandler extends ConsoleHandler {
@Override
public void publish(LogRecord record) {