Details
-
Type: Epic
-
Status: Open
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Component/s: Command Line Interface, Dev and Dep, jvdesktop, jvlite, Properties and Preferences
-
Labels:
-
Epic Name:logging
Description
There is no standard logging and user information system in Jalview 2. The Jalview Desktop uses Log4j for most error/stacktrace information, except for packages that are shared with the Jalview Applet, which uses system.out/err.println for informationals and errors, with no verbosity control.
Even worse, various packages have different mechanisms for reporting error and warning messages to the user if something strange occurred due to their action.
Actions: Logging, error/warning, and user error/warning/informationals should be unified into a standard interface used by all platforms, so its easier for a developer to know how to report warnings/informationals/errors when some user initiated step failed.
Rules:
0. Exceptions for runtime problems, Errors for serious or terminal problems likely to be caused by a bug in some other part of Jalview's code.
1. No module should use low level System.err/out methods to report anything important
2. Debugging and other information should be appropriately throttled using log levels.
3. Information that should be reported to the user should be brief, meaningful, and as simply worded as possible.
4. If it can't be phrased in 10 words or less, always sacrifice low-level detail for brief instructions or a URL to find out more about a problem (e.g. refer to the jalview console).
5. Jalview should as quiet as possible when run in batch mode.
Even worse, various packages have different mechanisms for reporting error and warning messages to the user if something strange occurred due to their action.
Actions: Logging, error/warning, and user error/warning/informationals should be unified into a standard interface used by all platforms, so its easier for a developer to know how to report warnings/informationals/errors when some user initiated step failed.
Rules:
0. Exceptions for runtime problems, Errors for serious or terminal problems likely to be caused by a bug in some other part of Jalview's code.
1. No module should use low level System.err/out methods to report anything important
2. Debugging and other information should be appropriately throttled using log levels.
3. Information that should be reported to the user should be brief, meaningful, and as simply worded as possible.
4. If it can't be phrased in 10 words or less, always sacrifice low-level detail for brief instructions or a URL to find out more about a problem (e.g. refer to the jalview console).
5. Jalview should as quiet as possible when run in batch mode.