~l2g/duplicity/bug-411375

318 by loafman
patch #6670: Machine Readable Output
1
Duplicity's log output is meant as a means of reporting status and information 
2
back to the caller.  This makes the life of a frontend writer much easier.
3
4
The format consists of a stream of stanzas, each starting with a keyword and 
5
some arguments, an optional suggested user text (each line of which starts with 
6
". ") and ending with an endline.  Like so:
7
8
KEYWORD 3\n
9
. Hello!  All work and now play make Jack a...\n
10
. dull boy.\n
11
\n
12
13
You can get this output by specifying either --log-fd or --log-file.
14
15
Currently, duplicity writes out status messages like WARNING or ERROR followed 
16
by a message number.  Each message number uniquely identifies a particular 
17
warning or error so the frontend can take special action.  For example, an ERROR 
18
of 2 is a command line syntax error.  Each message type has its own namespace 
19
(i.e. a WARNING of 2 means something different than an ERROR of 2).  A number 
20
of 1 is a generic, non-unique number for messages without their own code.
21
22
For a list of current numbers, see log.py
23
24
HINTS FOR CONSUMERS
25
Ignore any extra arguments on the keyword line.
26
Ignore any stanzas that have a keyword you don't recognize.
27
Ignore any lines in a stanza that start with a character you don't know.
28