Thunderbird:Logging UI

this is a design scratch area for bug 193873

Purpose

Developers and program debuggers need to get logged information from a person's Thunderbird instance sent to them via email or uploaded to bugzilla. This interface enables anyone to turn on logging and send their logs to the proper location.

Concerns

  • Logging slows down Thunderbird quite a bit
    • Logging should only be on when needed, then off the rest of the time
    • The log directory should probably be made available even while logging is disabled
    • Some indication of logging mode should be used to indicate why Thunderbird is behaving differently

Questions

  • How are we requesting a restart?
    • Dialog? Notification bar with button? Button?
  • If logging levels and modules require a restart every time they are changed, does it might make sense to incorporate that into the restart dialog?
  • Are logging levels for different debugging tasks different enough that it makes more sense to have them in the main interface instead of in an options dialog?

Common Use Cases

Here are some common use cases with steps taken by each party involved.

Reproduce Problem

  1. User has problems with Thunderbird
  2. Developer or IT person instructs user how to turn on logging
  3. User turns on logging
    1. Set logging modules and levels?? (I doubt this is worthwhile -- many users won't know enough to be smart here --davida)
    2. restart required
  4. User attempts to reproduce problem
  5. User could :
    1. forward it to their local IT person via email
    2. attach log file to a bug
    3. read the debug information (developers especially)
  6. User turns off logging
    1. restart required
    2. should offer to delete logs?

Possible Improvements

  • Could automate the uploading of information in a similar way to Breakpad
    • Complicated and might ignore the local IT person case
  • Preferences for
    • logging levels
    • modules
    • logging directory
  • Button to open log directory in Finder/Explorer
  • Remove thunderbird restart requirement

Options

Options that are important for proper usage and are going to be changed by the majority of users should be in the main interface so they are obvious and easily changed. Other options should be in a preferences menu or scuttled away in the about:config.

Logging Modules

According to mail troubleshoot and MailNews:LDAP_Address_Books there are 6 types of protocol logging.

  1. "all" for All Protocols
  2. "IMAP" for IMAP
  3. "POP3" for POP
  4. "NNTP" for NNTP
  5. "SMTP" for SMTP
  6. "LDAP" for LDAP

These can be provided for in a drop down selector.

Logging Levels

Again, the mail troubleshoot page describes 5 levels of logging.

  1. PR_LOG_NONE = 0, /* nothing */
  2. PR_LOG_ALWAYS = 1, /* always printed */
  3. PR_LOG_ERROR = 2, /* error messages */
  4. PR_LOG_WARNING = 3, /* warning messages */
  5. PR_LOG_DEBUG = 4, /* debug messages */

These can be provided for in a drop down selector.

Mockups

 
Debug Logging Preference (off)
 
Debug Logging Preference (on)
 
Easy way to Send the Debug Log via Email