[Pkg-bazaar-commits] ./bzr/unstable r257: - Write less startup junk to .bzr.log

Martin Pool mbp at sourcefrog.net
Fri Apr 10 07:43:55 UTC 2009


------------------------------------------------------------
revno: 257
committer: Martin Pool <mbp at sourcefrog.net>
timestamp: Fri 2005-04-15 12:29:03 +1000
message:
  - Write less startup junk to .bzr.log
  - Clean up trace.py code.
  - Write pids into log to help with concurrent execution.
modified:
  NEWS
  bzrlib/commands.py
  bzrlib/trace.py
-------------- next part --------------
=== modified file 'NEWS'
--- a/NEWS	2005-04-15 01:32:17 +0000
+++ b/NEWS	2005-04-15 02:29:03 +0000
@@ -39,6 +39,8 @@
     * Write profile data to a temporary file not into working
       directory and delete it when done.
 
+    * Smaller .bzr.log with process ids.
+
 
   PORTABILITY:
 

=== modified file 'bzrlib/commands.py'
--- a/bzrlib/commands.py	2005-04-15 01:32:17 +0000
+++ b/bzrlib/commands.py	2005-04-15 02:29:03 +0000
@@ -953,8 +953,8 @@
             return 0
         cmd = args.pop(0)
     except IndexError:
-        log_error('usage: bzr COMMAND\n')
-        log_error('  try "bzr help"\n')
+        log_error('usage: bzr COMMAND')
+        log_error('  try "bzr help"')
         return 1
 
     try:
@@ -1024,16 +1024,16 @@
         ret = run_bzr(argv)
         return ret
     except BzrError, e:
-        log_error('bzr: error: ' + e.args[0] + '\n')
+        log_error('bzr: error: ' + e.args[0])
         if len(e.args) > 1:
             for h in e.args[1]:
-                log_error('  ' + h + '\n')
+                log_error('  ' + h)
         traceback.print_exc(None, bzrlib.trace._tracefile)
-        log_error('(see $HOME/.bzr.log for debug information)\n')
+        log_error('(see ~/.bzr.log for debug information)')
         return 1
     except Exception, e:
-        log_error('bzr: exception: %s\n' % e)
-        log_error('(see $HOME/.bzr.log for debug information)\n')
+        log_error('bzr: exception: %s' % str(e).rstrip('\n'))
+        log_error('(see $HOME/.bzr.log for debug information)')
         traceback.print_exc(None, bzrlib.trace._tracefile)
         ## traceback.print_exc(None, sys.stderr)
         return 1

=== modified file 'bzrlib/trace.py'
--- a/bzrlib/trace.py	2005-04-12 06:27:32 +0000
+++ b/bzrlib/trace.py	2005-04-15 02:29:03 +0000
@@ -44,32 +44,36 @@
 verbose = False
 
 
+# fix this if we ever fork within python
+_mypid = os.getpid()
+_logprefix = '[%d] ' % _mypid
+
+
+def _write_trace(msg):
+    _tracefile.write(_logprefix + msg + '\n')
+
+
 def warning(msg):
-    b = 'bzr: warning: ' + msg + '\n'
-    sys.stderr.write(b)
-    _tracefile.write(b)
-    #_tracefile.flush()
-
-def mutter(msg):
-    _tracefile.write(msg)
-    _tracefile.write('\n')
-    # _tracefile.flush()
-    if verbose:
-        sys.stderr.write('- ' + msg + '\n')
+    sys.stderr.write('bzr: warning: ' + msg + '\n')
+    _write_trace('warning: ' + msg)
+
+
+mutter = _write_trace
 
 
 def note(msg):
     b = '* ' + str(msg) + '\n'
     if not silent:
         sys.stderr.write(b)
-    _tracefile.write(b)
-    # _tracefile.flush()
+    _write_trace('note: ' + msg)
 
 
 def log_error(msg):
-    sys.stderr.write(msg)
-    _tracefile.write(msg)
-    # _tracefile.flush()
+    sys.stderr.write(msg + '\n')
+    _write_trace(msg)
+
+
+# TODO: Something to log exceptions in here.
 
 
 
@@ -85,9 +89,14 @@
 
     _starttime = os.times()[4]
 
-    # XXX:  Does this always work on Windows?
+    # TODO: If the file exists and is too large, rename it to .old;
+    # must handle failures of this because we can't rename an open
+    # file on Windows.
+
     trace_fname = os.path.join(os.path.expanduser('~/.bzr.log'))
-    _tracefile = codecs.open(trace_fname, 'at', 'utf8')
+
+    # buffering=1 means line buffered
+    _tracefile = codecs.open(trace_fname, 'at', 'utf8', buffering=1)
     t = _tracefile
 
     if os.fstat(t.fileno())[stat.ST_SIZE] == 0:
@@ -98,16 +107,13 @@
     # TODO: If we failed to create the file, perhaps give a warning
     # but don't abort; send things to /dev/null instead?
 
-    
-    t.write('-' * 60 + '\n')
-    t.write('bzr invoked at %s\n' % bzrlib.osutils.format_date(time.time()))
-    t.write('  version: %s\n' % bzrlib.__version__)
-    t.write('  by %s on %s\n' % (bzrlib.osutils.username(), socket.getfqdn()))
-    t.write('  arguments: %r\n' % argv)
-    t.write('  working dir: %s\n' % os.getcwdu())
+    _write_trace('bzr %s invoked on python %s (%s)'
+                 % (bzrlib.__version__,
+                    '.'.join(map(str, sys.version_info)),
+                    sys.platform))
 
-    t.write('  platform: %s\n' % sys.platform)
-    t.write('  python: %s\n' % (sys.version_info,))
+    _write_trace('  arguments: %r' % argv)
+    _write_trace('  working dir: ' + os.getcwdu())
 
     import atexit
     atexit.register(_close_trace)



More information about the Pkg-bazaar-commits mailing list