diff options
-rw-r--r-- | docs/applicationdomaintypes.md | 17 | ||||
-rw-r--r-- | docs/logging.md | 10 |
2 files changed, 22 insertions, 5 deletions
diff --git a/docs/applicationdomaintypes.md b/docs/applicationdomaintypes.md index b0097a6..502a349 100644 --- a/docs/applicationdomaintypes.md +++ b/docs/applicationdomaintypes.md | |||
@@ -31,6 +31,7 @@ This is a proposed set of types that we will need to evolve into what we actuall | |||
31 | * Tag | 31 | * Tag |
32 | * Contact Group | 32 | * Contact Group |
33 | * Thread | 33 | * Thread |
34 | * Akonadi Resource | ||
34 | 35 | ||
35 | #### Properties | 36 | #### Properties |
36 | ```no-highlight | 37 | ```no-highlight |
@@ -49,6 +50,22 @@ Event: | |||
49 | startDate: The start date of the event. | 50 | startDate: The start date of the event. |
50 | startTime: The start time of the event. Optional. | 51 | startTime: The start time of the event. Optional. |
51 | ``` | 52 | ``` |
53 | ```no-highlight | ||
54 | Mail: | ||
55 | uid: The message id. | ||
56 | subject: The subject of the email. | ||
57 | folder: The identifier of the parent folder. | ||
58 | date: The date of the email. | ||
59 | mimeMessage: A string containing the path to the mime message | ||
60 | ``` | ||
61 | ```no-highlight | ||
62 | Akonadi Resource: | ||
63 | type: The type of the resource. | ||
64 | ``` | ||
65 | ```no-highlight | ||
66 | Maildir Resource: | ||
67 | path: The path to the maildir. | ||
68 | ``` | ||
52 | 69 | ||
53 | ### References/Hierachies | 70 | ### References/Hierachies |
54 | Some domain objects reference others, and that is often used to build hierarchies. | 71 | Some domain objects reference others, and that is often used to build hierarchies. |
diff --git a/docs/logging.md b/docs/logging.md index a88bc0f..a11a943 100644 --- a/docs/logging.md +++ b/docs/logging.md | |||
@@ -1,19 +1,19 @@ | |||
1 | For debugging purposes a logging framework is required. Simple qDebugs() proved to be insufficient for any non-trivial software. Developers should be enabled to add detailed debug information that allows to analize problems, and users should be enabled to record that information at runtime to debug a problem. The aim is to get away from the situation where developers remove messages because "it's to noisy", and then have to ship a special version with additional debug output to a user to debug a problem, just to then remove the debug output again. | 1 | For debugging purposes a logging framework is required. Simple qDebugs() proved to be insufficient for any non-trivial software. Developers should be enabled to add detailed debug information that allows to analyze problems, and users should be enabled to record that information at runtime to debug a problem. The aim is to get away from the situation where developers remove messages because "it's to noisy", and then have to ship a special version with additional debug output to a user to debug a problem, just to then remove the debug output again. |
2 | 2 | ||
3 | ## Requirements | 3 | ## Requirements |
4 | * runtime configurability of debug level for specific components | 4 | * runtime configurability of debug level for specific components |
5 | * queriable debug logs. If everything is turned on a *lot* of information will be generated. | 5 | * queriable debug logs. If everything is turned on, a *lot* of information will be generated. |
6 | * integration with the system log. It likely makes sense to integrate with the system-log instead of rolling our own solution or use .xsession-errors as dumping ground. In any case, simply logging to the console is not enough. | 6 | * integration with the system log. It likely makes sense to integrate with the system-log instead of rolling our own solution or use .xsession-errors as dumping ground. In any case, simply logging to the console is not enough. |
7 | * debug information *must* be available in release builds | 7 | * debug information *must* be available in release builds |
8 | * It may make sense to be able to disable certain debug output (configurable per debug level) for certain components at compile time, for performance reasons. | 8 | * It may make sense to be able to disable certain debug output (configurable per debug level) for certain components at compile time, for performance reasons. |
9 | * Ideally little interaction with stdout (i.e. only warnings). Proper monitoring should happen through: | 9 | * Ideally little interaction with stdout (i.e. only warnings). Proper monitoring should happen through: |
10 | * logfiles | 10 | * logfiles |
11 | * a commandline monitor tool | 11 | * a commandline monitor tool |
12 | * akonadiconsole | 12 | * some other developer tool |
13 | 13 | ||
14 | ## Debug levels | 14 | ## Debug levels |
15 | * trace: trace individual codepaths. Likely outputs way to many information for all normal cases and likely is only ever temporarily enabled. Trace points are likely only inserted into code fragments that are known to be problematic. | 15 | * trace: trace individual codepaths. Likely outputs way to much information for all normal cases and likely is only ever temporarily enabled. Trace points are likely only inserted into code fragments that are known to be problematic. |
16 | * debug: Comprehensive debug output. Enabled on demand | 16 | * log: Comprehensive debug output. Enabled on demand |
17 | * warning: Only warnings, should always be logged. | 17 | * warning: Only warnings, should always be logged. |
18 | * error: Critical messages that should never appear. Should always be logged. | 18 | * error: Critical messages that should never appear. Should always be logged. |
19 | 19 | ||