[//]: # (title: IDE Infrastructure) > This page is _Work in Progress_ - more information will be added over time. > {type="note"} ### Logging The IntelliJ platform uses [`Logger`](upsource:///platform/util/src/com/intellij/openapi/diagnostic/Logger.java) abstraction class to shield from underlying logging implementation and configuration. Plugins should obtain a dedicated instance: ```java import com.intellij.openapi.diagnostic.Logger; public class MyPluginFunctionality { private static final Logger LOG = Logger.getInstance(MyPluginFunctionality.class); public void someMethod() { LOG.info("someMethod() was called"); } } ``` ```kotlin private val LOG = logger() class MyPluginFunctionality { fun someMethod() { LOG.info("someMethod() was called") } } ``` If logging is used only to report exceptions, use convenience method `thisLogger()`: ```kotlin try { // some code } catch (e: Throwable) { thisLogger().error("some code failed", e) } ``` By default, all messages with level `INFO` and higher are written to log output file idea.log. To enable `DEBUG`/`TRACE` logging for specific categories, use Help | Diagnostic Tools | Debug Log Settings. To locate the log file, choose the Help | Show Log in Finder/Explorer action. When [internal mode](enabling_internal.md) is enabled, the currently running IDE log file can be opened using Help | Open Log in Editor. To locate it for a specific installation, see this [Knowledge Base article](https://intellij-support.jetbrains.com/hc/en-us/articles/206544519). See [Development Instance Sandbox Directory](ide_development_instance.md#the-development-instance-sandbox-directory) on how to find it for development instances. See [Testing FAQ](testing_faq.md) on how to enable `DEBUG`/`TRACE` level logging during tests, and obtain separate logs for failing tests. ## Runtime Information [`ApplicationInfo`](upsource:///platform/core-api/src/com/intellij/openapi/application/ApplicationInfo.java) provides information on the IDE version and vendor. NOTE: to restrict compatibility, declare [IDEs](plugin_compatibility.md) and [versions](build_number_ranges.md) via plugin.xml. To obtain information about OS and Java VM, use [`SystemInfo`](upsource:///platform/util/src/com/intellij/openapi/util/SystemInfo.java). To access relevant configuration directories, see [`PathManager`](upsource:///platform/util/src/com/intellij/openapi/application/PathManager.java).