mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Fix IJPL-207613 ClassCastException: AgentTestLogger cannot cast to JulLogger in IjentSessionMediatorKt
GitOrigin-RevId: f3e9f6e2df71b882bf2aea7c626114f1a5a0a124
This commit is contained in:
committed by
intellij-monorepo-bot
parent
b6e1c3d02a
commit
25d94d0bf4
@@ -11,60 +11,63 @@ import com.intellij.openapi.diagnostic.Logger
|
||||
* Enable trace loggers cautiously.
|
||||
*/
|
||||
object IjentLogger {
|
||||
private val _all_loggers = linkedMapOf<String, Logger>()
|
||||
val ALL_LOGGERS: Map<String, Logger> get() = _all_loggers
|
||||
|
||||
private fun logger(name: String): Logger {
|
||||
val l = Logger.getInstance(name)
|
||||
_all_loggers[name] = l
|
||||
return l
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetching environment variables.
|
||||
*/
|
||||
val ENV_VAR_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.env_var")
|
||||
val ENV_VAR_LOG: Logger = logger("#com.intellij.platform.ijent.env_var")
|
||||
|
||||
/**
|
||||
* Processes: launch, stdio, exit codes, signals.
|
||||
*/
|
||||
val EXEC_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.exec")
|
||||
val EXEC_LOG: Logger = logger("#com.intellij.platform.ijent.exec")
|
||||
|
||||
/**
|
||||
* External CLI handlers. Logs similar to processes.
|
||||
*/
|
||||
val EXT_CLI_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.ext_cli")
|
||||
val EXT_CLI_LOG: Logger = logger("#com.intellij.platform.ijent.ext_cli")
|
||||
|
||||
/**
|
||||
* Requests to watch/unwatch files. List of changed files.
|
||||
*/
|
||||
val FILE_WATCHER_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.file_watcher")
|
||||
val FILE_WATCHER_LOG: Logger = logger("#com.intellij.platform.ijent.file_watcher")
|
||||
|
||||
/**
|
||||
* All filesystem operations excluding reading and writing files.
|
||||
*/
|
||||
val FS_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.fs")
|
||||
val FS_LOG: Logger = logger("#com.intellij.platform.ijent.fs")
|
||||
|
||||
/**
|
||||
* Dedicated logger for reading and writing files that can show contents of files.
|
||||
*/
|
||||
val FS_FILE_CONTENT_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.fs_file_content")
|
||||
val FS_FILE_CONTENT_LOG: Logger = logger("#com.intellij.platform.ijent.fs_file_content")
|
||||
|
||||
/**
|
||||
* gRPC requests and responses.
|
||||
*/
|
||||
val GRPC_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.grpc")
|
||||
val GRPC_LOG: Logger = logger("#com.intellij.platform.ijent.grpc")
|
||||
|
||||
/**
|
||||
* Traffic dump for virtual machine sockets when IJent runs inside Hyper-V VM.
|
||||
*/
|
||||
val HYPERV_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.hyperv")
|
||||
val HYPERV_LOG: Logger = logger("#com.intellij.platform.ijent.hyperv")
|
||||
|
||||
/**
|
||||
* Everything that doesn't fit the other categories.
|
||||
*/
|
||||
val OTHER_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.other")
|
||||
val OTHER_LOG: Logger = logger("#com.intellij.platform.ijent.other")
|
||||
|
||||
/**
|
||||
* TCP tunnels (TODO).
|
||||
* Unix sockets.
|
||||
*/
|
||||
val TUNNELS_LOG: Logger = Logger.getInstance("#com.intellij.platform.ijent.tunnels")
|
||||
|
||||
val ALL_LOGGERS: Collection<Logger> by lazy {
|
||||
IjentLogger::class.java.declaredFields
|
||||
.filter { it.type == Logger::class.java }
|
||||
.map { field -> field.get(this) as Logger }
|
||||
}
|
||||
val TUNNELS_LOG: Logger = logger("#com.intellij.platform.ijent.tunnels")
|
||||
}
|
||||
@@ -225,8 +225,8 @@ private val ijentLogMessageRegex = Regex(
|
||||
)
|
||||
|
||||
private val logTargets: Map<String, Logger> by lazy {
|
||||
IjentLogger.ALL_LOGGERS.associateByTo(hashMapOf()) { logger ->
|
||||
(logger as JulLogger).loggerName.removePrefix("#com.intellij.platform.ijent.")
|
||||
IjentLogger.ALL_LOGGERS.mapKeys { (loggerName, _) ->
|
||||
loggerName.removePrefix("#com.intellij.platform.ijent.")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,10 +3,7 @@ package com.intellij.openapi.diagnostic;
|
||||
|
||||
import com.intellij.openapi.util.ShutDownTracker;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.nio.file.Path;
|
||||
@@ -42,6 +39,7 @@ public class JulLogger extends Logger {
|
||||
myLogger = delegate;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
public final @NotNull String getLoggerName() {
|
||||
return myLogger.getName();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user