View Javadoc

1   package com.atlassian.pageobjects.binder;
2   
3   import com.google.inject.AbstractModule;
4   import org.slf4j.Logger;
5   import org.slf4j.LoggerFactory;
6   
7   import javax.annotation.Nonnull;
8   
9   import static com.google.common.base.Preconditions.checkNotNull;
10  
11  /**
12   * Adds a common SLF4J logger to the injection context.
13   *
14   * @since 2.1
15   */
16  public class LoggerModule extends AbstractModule
17  {
18      private final Logger logger;
19  
20      public LoggerModule(@Nonnull Logger logger)
21      {
22          this.logger = checkNotNull(logger, "logger");
23      }
24  
25      /**
26       * @param loggerClass class to get logger for
27       * @since 2.2
28       */
29      public LoggerModule(@Nonnull Class<?> loggerClass)
30      {
31          this(LoggerFactory.getLogger(checkNotNull(loggerClass, "loggerClass")));
32      }
33  
34      @Override
35      protected void configure()
36      {
37          bind(Logger.class).toInstance(logger);
38      }
39  }