Uploaded image for project: 'Commons Logging'
  1. Commons Logging
  2. LOGGING-86

[logging] SimpleLog log method should defer writing for better reuse!

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.0.3
    • 1.0.4
    • None
    • Operating System: other
      Platform: Other

    • 27135

    Description

      SimpleLog 'log' method which performs the actual log write to System.err should
      be refactored to instead call a 'doWrite' method which commits the log message
      to the stream. This would allow subclasses to reuse the bulk of the SimpleLog
      logic but direct the output elsewhere (in my case, for instance, a GUI log
      window). This change is too trivial to mandate a full patch, here is a pseudo
      patch:

      /**

      • <p> Do the actual logging.
      • This method assembles the message
      • and then prints to <code>System.err</code>.</p>
        */
        protected void log(int type, Object message, Throwable t) { ... // print to System.err - System.err.println(buf.toString()); + doWrite(buf); }

      + /** Subclasses can easily override this */
      + protected void doWrite(StringBuffer buf)

      { + System.err.println(buf); + }

      Without this patch, the only current solution is reuse by cutting-and-pasting
      the entire 'log' method and changing the single System.err line

      Attachments

        Activity

          People

            Unassigned Unassigned
            arh14@cornell.edu Aaron Hamid
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: