The IntelliJ platform uses
Logger abstraction class to shield from underlying logging implementation and configuration.
Plugins should obtain a dedicated instance:
If logging is used only to report exceptions, use convenience method
By default, all messages with level
INFO and higher are written to log output file idea.log. To enable
TRACE logging for specific categories, use .
To locate the log file, choose the internal mode is enabled, the currently running IDE log file can be opened using .action. When
See Testing FAQ on how to enable
TRACE level logging during tests, and obtain separate logs for failing tests.
The IDE will show fatal errors caught by itself as well as logging messages with
ERROR level in the IDE Fatal Errors dialog:
for IDE platform: in EAP releases or when running in internal mode
for third-party plugins: always
For the latter, reporting is disabled by default — instead, there's an option to disable the plugin causing the exception.
To let users report such errors to the vendor, plugins can implement custom
ErrorReportSubmitter registered in
com.intellij.errorHandler extension point. See IntelliJ Platform Explorer for existing implementations — ranging from pre-filling web-based issue tracker forms to fully automated submission to log monitoring systems. This tutorial also offers a working solution for using Sentry.
To disable red exclamation notification icon in status bar, invoke
idea.fatal.error.notification=disabled in opened idea.properties.
To obtain information about OS and Java VM, use
To access relevant configuration directories, see
Running Tasks Once
RunOnceUtil to run a task exactly once per project/application.
To request restart of the IDE, use
LafManagerListener topic to receive change notifications (e.g., to refresh UI).
Power Save Mode
can be enabled to limit power-consuming features on laptops. Use
PowerSaveMode service and
PowerSaveMode.Listener topic to disable such features in your plugin accordingly.
Installed plugins can be checked via
To suggest other relevant plugins, use
Deprecating a Plugin
To suggest replacing the currently installed deprecated plugin with the new one, implement
PluginReplacement registered in
com.intellij.pluginReplacement extension point.