Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Papyrus/Papyrus Developer Guide/Papyrus Log
Contents
Activating Log (since Papyrus 6.4.0)
Papyrus is now migrating to apache Log4J (org.apache.logging.log4j;bundle-version="[2.17.0,3.0.0)").
In the Activator class of your plugin, you can declare the logger to use as this:
public static final Logger log = LogManager.getLogger(PLUGIN_ID);
Activating Log (deprecated)
This following documentation is now deprecated (pending complete migration to Log4J)
Papyrus Log is using the log from Eclipse (see [1]). Logs are displayed in the "Error Log" view.
First, your plugin should depend on the org.eclipse.papyrus.infra.core.log.LogHelper plugin.
Then, to benefit from the Papyrus log mechanism, you must add onto your bundle :
A public static variable on your bundle activator :
import org.eclipse.papyrus.infra.core.log.LogHelper; public class Activator extends Plugin { // or AbstractUIPlugin /** Logging helper */ public static LogHelper log; /** * {@inheritDoc} */ public void start(BundleContext context) throws Exception { super.start(context); plugin = this; // register the login helper log = new LogHelper(plugin); } ... }
A static import of this variable on your class :
import static org.eclipse.papyrus.[yourPluginName].Activator.log; public class CreateDiagramAction extends Action { public void run() { log.info("log"); } }
Writing Log
There are three levels of log in Papyrus : info, debug, error
info
log.info("..."); //$NON-NLS-1$
debug
A debug log is used for development and/or debug purposes only. It MUST be encapsulated with the condition log.isDebugEnabled().
if (log.isDebugEnabled()) { log.debug("Start - CreateDiagramAction#run"); //$NON-NLS-1$ }
error
try { ... } catch (IOException io) { log.error(io); ... }
Help writing log
You can write a template for each of those logs to ease your development (Key assist / "Ctrl Space").
First, you have to install on your platform, the bundle "org.eclipse.papyrus.java.template" available on the developer Papyrus repository ([2])
Then, open the menu "Preferences" > "Java" > "Editor" > "Template"
Finally, create your template. The "name" corresponds to the shortcut you will use in your editor. The "context" is "Java".
Pattern Info
${activatorLog}log.info("${cursor}");
Pattern Debug
${activatorLog}if(log.isDebugEnabled()){ log.debug("${cursor}"); }
Pattern Error
${activatorLog}log.error("${cursor}");
Displaying Log
In order to display the debug log, you must add the command line argument "-debug" to your platform.
Two others usefull arguments are "-console" and "-consoleLog".
For more information, read this page : http://www.eclipse.org/eclipse/platform-core/documents/3.1/debug.html