~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commands.py

  • Committer: Martin Pool
  • Date: 2005-04-15 02:55:00 UTC
  • Revision ID: mbp@sourcefrog.net-20050415025500-0d789f868f19cdbb
factor out code to log exceptions

Show diffs side-by-side

added added

removed removed

Lines of Context:
62
62
 
63
63
 
64
64
 
65
 
import sys, os, time, types, shutil, tempfile, traceback, fnmatch, difflib, os.path
 
65
import sys, os, time, types, shutil, tempfile, fnmatch, difflib, os.path
66
66
from sets import Set
67
67
from pprint import pprint
68
68
from stat import *
1012
1012
 
1013
1013
 
1014
1014
def main(argv):
1015
 
    ## TODO: Handle command-line options; probably know what options are valid for
1016
 
    ## each command
1017
 
 
1018
 
    ## TODO: If the arguments are wrong, give a usage message rather
1019
 
    ## than just a backtrace.
1020
 
 
1021
1015
    bzrlib.trace.create_tracefile(argv)
1022
1016
 
1023
1017
    try:
1029
1023
            if len(e.args) > 1:
1030
1024
                for h in e.args[1]:
1031
1025
                    log_error('  ' + h)
1032
 
            traceback.print_exc(None, bzrlib.trace._tracefile)
1033
 
            log_error('(see ~/.bzr.log for debug information)')
 
1026
            bzrlib.trace.log_exception(e)
 
1027
            sys.stderr.write('(see ~/.bzr.log for debug information)\n')
1034
1028
            return 1
1035
1029
        except Exception, e:
1036
1030
            log_error('bzr: exception: %s' % str(e).rstrip('\n'))
1037
 
            log_error('(see $HOME/.bzr.log for debug information)')
1038
 
            traceback.print_exc(None, bzrlib.trace._tracefile)
1039
 
            ## traceback.print_exc(None, sys.stderr)
 
1031
            sys.stderr.write('(see $HOME/.bzr.log for debug information)\n')
 
1032
            bzrlib.trace.log_exception(e)
1040
1033
            return 1
1041
1034
    finally:
1042
1035
        bzrlib.trace.close_trace()