~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/trace.py

- store revision properties in revision xml

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