diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-10-04 11:09:39 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-10-04 11:09:39 +0000 |
commit | e305c764722394c18d55e084c7be4b64ff799fa4 (patch) | |
tree | 24f9dd8cc6f5393a9084d8149e53af5e850b25e7 /ChangeLog | |
parent | ba59bf06eefaefa447fbca9059adefe9ac0ef167 (diff) |
LRN's big logging rewrite (#1805):
* GNUNET_BOTTOM_LOGLEVEL and GNUNET_TOP_LOGLEVEL set global levels
Use bottom level to force logging to be more verbose than configured
Use top level to force logging to be less verbose than configured
Obviously, bottom <= top
* GNUNET_LOG sets per-component levels
GNUNET_LOG looks like this:
name[/bottom[/top]]/...
name starts with a non-digit character, must not include '/'
bottom and top must consist only of digits, or be empty
a description is only used if it matches the component exactly
as a special exception (for now) the name '*' matches any component
per-component loglevels override global loglevels
global levels override whatever is given via arguments or in config
Examples:
test_client/8/8/
run test_client with DEBUG level (usually leads to a timeout, by the way)
*/2/2/core/8/8/transport/4/4
run everything with WARNING, core - with DEBUG, transport - with INFO
*//1/peerinfo/4/
run everything with top loglevel ERROR, global/configured bottom loglevel,
and peerinfo - with bottom loglevel INFO and global/configured top loglevel
statistics/
does nothing
* Added GNUNET_ERROR_TYPE_UNSPECIFIED enum value, to hold -1.
Its corresponding string is NULL.
* Changed the logger calls as Grothoff suggested - to use static int to hold
the result of runtime evaluation of logability.
Logging can be unconditionally disabled in advance by defining
GNUNET_LOG_CALL_STATUS to 0, and enabled in advance by defining it to 1.
* Added GNUNET_CULL_LOGGING, which, if defined, completely culls out all
logging calls at compile time.
* Log definition parsing is only done once, results are cached.
* Changed definition format, now it looks like this:
[component|*|];[file|*|];[function|*|];[from_line[-to_line]];level/[component...]
All field separators are mandatory (but some fields could be empty or be '*').
Line definition must be either empty or "number" or "number-number"
Level definition must not be empty, and is a string representation
of the level (i.e. DEBUG, WARNING, INFO, etc).
Definition entry must end with a slash, whether or not there's another
entry after it.
File name is matched to the end of __FILE__, which allows file name
to match not only the base name, but also directories leading to it.
* Removed default WARNING loglevel from program and service utility code.
Now they default to NULL (UNSPECIFIED) level, which can be overriden by
GNUNET_LOG definition, if no level is specified via config or commandline.
Log levels from config or commandline are overriden by GNUNET_FORCE_LOG.
If GNUNET_*LOG are undefined, and no levels came from config or commandline,
logger internally defaults to WARNING level.
Add --enable-logging configure option
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -1,3 +1,4 @@ +Mon Sep 19 14:16:22 CEST 2011 Releasing GNUnet 0.9.0pre3. Instead of listing all that has changed, here is the short list of what is known NOT to work, in order of minor flaws to major issues, by module: |