void (@NotNull AnAction action, @NotNull AnActionEvent event, @NotNull AnActionResult result) { StringBuilder out = new StringBuilder(String.format("%1$tF %1$tT,%1$tL ", System.currentTimeMillis())); final ActionManager actionManager = ActionManager.getInstance(); final String id = actionManager.getId(action); out.append("id=").append(id); if (id != null) { out.append("; shortcuts:"); final Shortcut[] shortcuts = getActiveKeymapShortcuts(id).getShortcuts(); for (int i = 0; i < shortcuts.length; i++) { Shortcut shortcut = shortcuts[i]; out.append(shortcut); if (i < shortcuts.length - 1) { out.append(","); } } } out.append("; class: ").append(action.getClass().getName()); out.append("\n"); final Document doc = myText.getDocument(); try { doc.insertString(doc.getLength(), out.toString(), null); SwingUtilities.invokeLater(() -> { final int y = (int)myText.getBounds().getMaxY(); myText.scrollRectToVisible(new Rectangle(0, y, myText.getBounds().width, 0)); }); } catch (BadLocationException e) { LOG.error(e); } }