Uploaded image for project: 'Google Code-in'
  1. Google Code-in
  2. GCI-172

ModuleFilter Logger should be "private static final"

    XMLWordPrintable

Details

    • Low

    Description

      In the ModuleFilter class: https://github.com/openmrs/openmrs-core/blob/master/web/src/main/java/org/openmrs/module/web/filter/ModuleFilter.java#L31

      protected final Logger log = LoggerFactory.getLogger(getClass());
      

      Should be changed to:

      private static final Logger log = LoggerFactory.getLogger(ModuleFilter.class);
      

      Background information: Loggers should be:

      private: never be accessible outside of its parent class. If another class needs to log something, it should instantiate its own logger.
      
      static: not be dependent on an instance of a class (an object). When logging something, contextual information can of course be provided in the messages but the logger should be created at class level to prevent creating a logger along with each object.
      
      (final|const): be created once and only once per class.
      

      Gliffy Diagrams

        Attachments

          Activity

            People

              Unassigned Unassigned
              dkayiwa Daniel Kayiwa
              John Chen John Chen
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 5 minutes Original Estimate - 5 minutes
                  5m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 10 minutes
                  10m