Enable logging for a bundle

In this session, we will see how to enable logging for a bundle. We will later create a logger configuration in Felix console and will specify a file to write the logs. Enabling logging in a bundle helps you a lot while debugging. We will use Simple Logging Facade for Java (SLF4J). It’s an abstraction of various logging frameworks based on Java.

Note that it’s a continuation of my previous session. Refer to the previous videos when in doubt. You can download the sample project from GitHub. You may need aem-company-site-1.0.zip and aem-company.zip.

  1. Let us open the Eclipse project that we have created.
  2. Locate the HelloServiceImpl.java class.
  3. Import org.slf4j.Logger and org.slf4j.LoggerFactory.
  4.  Add the following statement.
    public static final Logger LOGGER = LoggerFactory.getLogger(HelloServiceImpl.class);

    Using the LoggerFactory instance, it creates a logger for the class passed.

  5. Inside the getRepositoryName() method, add the Logger.Info method.
    LOGGER.info("Adding the repository");
  6. Log into Felix console:
    http://localhost:4502/system/console
  7. Go to Sling > Log Support.
  8. Select Add New Logger.
  9. Provide the logs name. (logs\aem-company.log)
  10. Then, select the logger class name. (com.aemcompany.myproject)
  11. Now access the web page created earlier.
    http://localhost:4502/editor.html/content/aem-company.html
    It has a component that uses this class to print the repository name.
    Means, when we access the page, the method gets executed – resulting a log entry.
  12. Go to the crx-quickstart\logs folder.
    Note that the aem-company log is created.

Comments are closed.