summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2015-12-15 13:43:47 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2015-12-15 13:43:47 +0100
commit62d74778fa315091c5f0b99093bd806a1ccd7a79 (patch)
tree8ba309353d0ed1f1854a7b7d807ca6c0619381ce
parentc1a43cf6dabe29bc15186f8062ceeeee4ae77993 (diff)
downloadsink-62d74778fa315091c5f0b99093bd806a1ccd7a79.tar.gz
sink-62d74778fa315091c5f0b99093bd806a1ccd7a79.zip
Docs
-rw-r--r--docs/applicationdomaintypes.md17
-rw-r--r--docs/logging.md10
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
54Mail:
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
62Akonadi Resource:
63 type: The type of the resource.
64```
65```no-highlight
66Maildir Resource:
67 path: The path to the maildir.
68```
52 69
53### References/Hierachies 70### References/Hierachies
54Some domain objects reference others, and that is often used to build hierarchies. 71Some 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 @@
1For 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. 1For 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