~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/trace.py

  • Committer: Martin Pool
  • Date: 2005-09-12 09:50:44 UTC
  • Revision ID: mbp@sourcefrog.net-20050912095044-6acfdb5611729987
- no tests in bzrlib.fetch anymore

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
    # can get the exception details is we suppress them here.
55
55
 
56
56
    def format(self, record):
 
57
        s = 'bzr: '
57
58
        if record.levelno >= logging.WARNING:
58
 
            s = 'bzr: ' + record.levelname + ': '
59
 
        else:
60
 
            s = ''
 
59
            s += record.levelname + ': '
61
60
            
62
 
        s += record.getMessage()
63
 
 
64
 
        ##import textwrap
65
 
        ##s = textwrap.fill(s)
 
61
        s += record.getMessage() 
66
62
            
67
63
        if record.exc_info:
68
64
            # give just a summary of the exception, not the whole thing
105
101
            return
106
102
        old_fname = trace_fname + '.old'
107
103
 
108
 
        from osutils import rename
109
 
        rename(trace_fname, old_fname)
 
104
        try:
 
105
            # must remove before rename on windows
 
106
            os.remove(old_fname)
 
107
        except OSError:
 
108
            pass
110
109
 
 
110
        try:
 
111
            # might fail if in use on windows
 
112
            os.rename(trace_fname, old_fname)
 
113
        except OSError:
 
114
            pass
111
115
    except OSError:
112
116
        return
113
117
 
161
165
    The exception string representation is used as the error
162
166
    summary, unless msg is given.
163
167
    """
164
 
    command = ' '.join(repr(arg) for arg in sys.argv)
165
 
    prefix = "command: %s\npwd: %s\n" % (command, os.getcwd())
166
168
    if msg == None:
167
169
        ei = sys.exc_info()
168
170
        msg = str(ei[1])
 
171
 
169
172
    if msg and (msg[-1] == '\n'):
170
173
        msg = msg[:-1]
171
 
    ## msg = "(%s) %s" % (str(type(ei[1])), msg)
172
 
    _bzr_logger.exception(prefix + msg)
 
174
        
 
175
    _bzr_logger.exception(msg)
173
176
 
174
177
 
175
178
 
178
181
    global _stderr_handler, _file_handler
179
182
 
180
183
    _stderr_handler = logging.StreamHandler()
181
 
    _stderr_handler.setFormatter(QuietFormatter())
182
184
 
183
185
    if not _file_handler:
184
 
        open_tracefile()
 
186
        open_tracefile()                # also adds it
185
187
 
186
 
    if os.environ.get('BZR_DEBUG'):
 
188
    debug_flag = False
 
189
    try:
 
190
        debug_flag = bool(os.environ['BZR_DEBUG'])
 
191
    except:
 
192
        pass
 
193
        
 
194
    if debug_flag:
187
195
        level = logging.DEBUG
188
196
    else:
189
197
        level = logging.INFO
 
198
        # show only summary of exceptions
 
199
        _stderr_handler.setFormatter(QuietFormatter())
190
200
 
191
 
    _stderr_handler.setLevel(logging.INFO)
 
201
    _stderr_handler.setLevel(level)
192
202
    _file_handler.setLevel(level)
193
203
 
194
204
    logging.getLogger('').addHandler(_stderr_handler)
195
205
 
196
206
 
 
207
 
197
208
def disable_default_logging():
198
209
    """Turn off default log handlers.
199
210