Papyrus Developer Guide/Papyrus Log

From Eclipsepedia

Jump to: navigation, search

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

Contents

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 {
         
         /** 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.*.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