Next: gpgv, Up: Helper Tools

### 7.1 Read logs from a socket

Most of the main utilities are able to write their log files to a Unix Domain socket if configured that way. `watchgnupg` is a simple listener for such a socket. It ameliorates the output with a time stamp and makes sure that long lines are not interspersed with log output from other utilities. This tool is not available for Windows.

`watchgnupg` is commonly invoked as

         watchgnupg --force ~/.gnupg/S.log

This starts it on the current terminal for listening on the socket `~/.gnupg/S.log`.

`watchgnupg` understands these options:

`--force`
  Delete an already existing socket file.

`--tcp` n
  Instead of reading from a local socket, listen for connects on TCP port n.
`--verbose`
  Enable extra informational output.
`--version`
  Print version of the program and exit.
`--help`
  Display a brief help page and exit.

## Examples

         $ watchgnupg --force /home/foo/.gnupg/S.log

This waits for connections on the local socket `/home/foo/.gnupg/S.log` and shows all log entries. To make this work the option `log-file` needs to be used with all modules which logs are to be shown. The value for that option must be given with a special prefix (e.g. in the conf file):

         log-file socket:///home/foo/.gnupg/S.log

For debugging purposes it is also possible to do remote logging. Take care if you use this feature because the information is send in the clear over the network. Use this syntax in the conf files:

         log-file tcp://192.168.1.1:4711

You may use any port and not just 4711 as shown above; only IP addresses are supported (v4 and v6) and no host names. You need to start `watchgnupg` with the `tcp` option. Note that under Windows the registry entry HKCU\Software\GNU\GnuPG:DefaultLogFile can be used to change the default log output from `stderr` to whatever is given by that entry. However the only useful entry is a TCP name for remote debugging.