~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/trace.py

Merge description into dont-add-conflict-helpers

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
 
"""Messages and logging for bazaar-ng.
 
17
"""Messages and logging.
18
18
 
19
19
Messages are supplied by callers as a string-formatting template, plus values
20
20
to be inserted into it.  The actual %-formatting is deferred to the log
33
33
 
34
34
Output to stderr depends on the mode chosen by the user.  By default, messages
35
35
of info and above are sent out, which results in progress messages such as the
36
 
list of files processed by add and commit.  In quiet mode, only warnings and
37
 
above are shown.  In debug mode, stderr gets debug messages too.
 
36
list of files processed by add and commit.  In debug mode, stderr gets debug messages too.
38
37
 
39
38
Errors that terminate an operation are generally passed back as exceptions;
40
39
others may be just emitted as messages.
83
82
    osutils,
84
83
    plugin,
85
84
    symbol_versioning,
 
85
    ui,
86
86
    )
87
87
""")
88
88
 
250
250
            bzr_log_file.write("bug reports to https://bugs.launchpad.net/bzr/+filebug\n\n")
251
251
        return bzr_log_file
252
252
    except IOError, e:
253
 
        warning("failed to open trace file: %s" % (e))
 
253
        # If we are failing to open the log, then most likely logging has not
 
254
        # been set up yet. So we just write to stderr rather than using
 
255
        # 'warning()'. If we using warning(), users get the unhelpful 'no
 
256
        # handlers registered for "bzr"' when something goes wrong on the
 
257
        # server. (bug #503886)
 
258
        sys.stderr.write("failed to open trace file: %s\n" % (e,))
254
259
    # TODO: What should happen if we fail to open the trace file?  Maybe the
255
260
    # objects should be pointed at /dev/null or the equivalent?  Currently
256
261
    # returns None which will cause failures later.
360
365
    global _verbosity_level
361
366
    _verbosity_level = level
362
367
    _update_logging_level(level < 0)
 
368
    ui.ui_factory.be_quiet(level < 0)
363
369
 
364
370
 
365
371
def get_verbosity_level():
371
377
 
372
378
 
373
379
def be_quiet(quiet=True):
374
 
    # Perhaps this could be deprecated now ...
375
380
    if quiet:
376
381
        set_verbosity_level(-1)
377
382
    else: