Blackbox Extension

This extension is distributed with Mercurial 2.6 and up.

Author: Durham Goode

The blackbox extension logs events to .hg/blackbox.log for post-mortem debugging. It is useful for administrators to find out what a user did recently when trying to fix a repository.

1. Events

By default the extension logs the following events:

The recent log entries can be viewed with the 'hg blackbox' command. Each log entry includes the date, time, and the user performing the action.

$ hg blackbox
2013/02/13 15:06:11 durham> pull -u
2013/02/13 15:06:14 durham> 17 incoming changes - new heads: 7daed3c67aaa
2013/02/13 15:06:14 durham> pull exited None after 3.28 seconds
2013/02/13 15:30:36 durham> log -l 1 --stat
2013/02/13 15:30:37 durham> log exited None after 0.75 seconds

2. Configuration

Which events are logged can be configured by changing the blackbox.track setting in .hgrc.

Log only user commands:

[blackbox]
track=command, commandfinish, commandexception

Log only incoming revisions:

[blackbox]
track=incoming

Log only hooks:

[blackbox]
track=exthook, pythonhook

3. Logging custom events

It's possible to log custom events to the blackbox from another extension or from elsewhere in mercurial by calling ui.log like so:

ui.log("myeventkind", "Something happened\n")

If the blackbox extension is enabled, the event will be logged as:

2013/02/13 15:30:44 durham> Something happened


CategoryBundledExtension

BlackboxExtension (last edited 2014-04-03 11:35:18 by MartinGeisler)