~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/trace.py

  • Committer: Robert Collins
  • Date: 2005-10-19 06:01:01 UTC
  • Revision ID: robertc@robertcollins.net-20051019060101-1f62d4fb1a5f59dc
WorkingTree.__del__ has been removed.

It was non deterministic and not doing what it was intended 
to. See WorkingTree.__init__ for a comment about future directions.
(Robert Collins/Martin Pool)

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
# TODO: When running the test suites, we should add an additional
34
34
# logger that sends messages into the test log file.
35
35
 
36
 
# FIXME: Unfortunately it turns out that python's logging module
37
 
# is quite expensive, even when the message is not printed by any handlers.
38
 
# We should perhaps change back to just simply doing it here.
39
 
 
40
36
 
41
37
import sys
42
38
import os
156
152
          sys.platform)
157
153
 
158
154
    debug('  arguments: %r', argv)
159
 
    debug('  working dir: %r', os.getcwdu())
 
155
    debug('  working dir: %s', os.getcwdu())
160
156
 
161
157
 
162
158
def log_exception(msg=None):
163
 
    """Log the last exception to stderr and the trace file.
 
159
    """Log the last exception into the trace file.
164
160
 
165
161
    The exception string representation is used as the error
166
162
    summary, unless msg is given.
167
163
    """
168
 
    ei = sys.exc_info()
 
164
    cmd_repr = ' '.join(repr(arg) for arg in sys.argv)
 
165
    cmd_info = '\n  command: %s\n  pwd: %s' \
 
166
        % (cmd_repr, os.getcwd())
169
167
    if msg == None:
 
168
        ei = sys.exc_info()
170
169
        msg = str(ei[1])
171
170
    if msg and (msg[-1] == '\n'):
172
171
        msg = msg[:-1]
173
 
    msg += '\n  command: %s' % ' '.join(repr(arg) for arg in sys.argv)
174
 
    msg += '\n      pwd: %r' % os.getcwdu()
175
 
    msg += '\n    error: %s' % ei[0]        # exception type
176
 
    _bzr_logger.exception(msg)
177
 
 
178
 
 
179
 
def log_exception_quietly():
180
 
    """Log the last exception to the trace file only.
181
 
 
182
 
    Used for exceptions that occur internally and that may be 
183
 
    interesting to developers but not to users.  For example, 
184
 
    errors loading plugins.
185
 
    """
186
 
    debug(traceback.format_exc())
 
172
    ## msg = "(%s) %s" % (str(type(ei[1])), msg)
 
173
    _bzr_logger.exception(msg + cmd_info)
 
174
 
187
175
 
188
176
 
189
177
def enable_default_logging():