Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Papyrus/Papyrus Developer Guide/Papyrus Log

Papyrus Log is using the log from Eclipse (see [1]). The log are displayed in the "Error Log" view.

Activating Log

To benefit from the Papyrus log mechanism, you must add onto your bundle :

A public static variable on your bundle activator :

       public class Activator extends AbstractUIPlugin {
          
          public static LogHelper log;
          
          public void start(BundleContext context) throws Exception {
               super.start(context);
               plugin = this;
               log = new LogHelper(plugin);
          }
          
       ...
       }

A static import of this variable on your class :

       import static org.eclipse.papyrus.*.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("");
      ...
 }

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

  ${imp:importStatic(org.eclipse.papyrus.navigator.internal.Activator.log)}
  log.info("${cursor}");

Pattern Debug

  ${imp:importStatic(org.eclipse.papyrus.navigator.internal.Activator.log)}
     if(log.isDebugEnabled()){
        log.debug("${cursor}");
     }

Pattern Error

  ${imp:importStatic(org.eclipse.papyrus.navigator.internal.Activator.log)}
  log.error("${cursor}");

Displaying Log

Back to the top