Issue #675 has been updated by James Turnbull.

Category changed from unknown to error reporting
Target version deleted (Puppet - unplanned)


----------------------------------------
Feature #675: Multiple debug types should be supported
http://projects.reductivelabs.com/issues/675

Author: Luke Kanies
Status: Accepted
Priority: Low
Assigned to: 
Category: error reporting
Target version: 
Patch: None
Affected version: 0.24.4
Keywords: 
Branch: 


In the course of a single Puppet configuration run, there are multiple areas of 
functionality that could conceivably need to log information.  For instance, 
there's command execution (e.g., package installation, package querying), 
decision making (skipping resources because they aren't tagged or scheduled 
correctly), idempotency checking (comparing desired values to current values), 
setup, and much more.

However, debugging is currently boolean: Either it's all on, or it's all off.  
As a result, developers are encouraged to keep debugging to a minimum, which 
often makes it difficult to, well, debug what's going on.

To solve this problem, debugging should be enhanced to support arbitrary 
numbers of debug types.  One should be able to define new debugging types, and 
each debug type should get its own debug method; if I define an 'execution' 
debug type, then I should have 'debug_execution' available as a method wherever 
log methods are defined (log methods are currently largely defined in the 
util/logging.rb module, which might be a reasonable place to add these methods, 
rather than on the main util/log.rb class).

These debug methods should just discard the messages if that kind of debugging 
is not enabled, to keep the cost of debugging to minimum.

The next piece is that users should be able to select any one or more debugging 
types, or select all of them (i.e., 'all' should be a valid debug level.  I 
expect that this will require fixing #272, at least in order to enable 
backward-compatibility (i.e., people being able to just use --debug, or 
--debug=execution).

The last stage is to go through existing calls to debug and define new 
debugging types and change the calls, as appropriate, so that existing 
debugging is far more tunable.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account
--
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to