gnupg: watchgnupg
9.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 $(gpgconf --list-dirs socketdir)/S.log
This starts it on the current terminal for listening on the standard
logging socket (which is either '~/.gnupg/S.log' or
'/var/run/user/UID/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.
'--time-only'
Do not print the date part of the timestamp.
'--verbose'
Enable extra informational output.
'--version'
Print version of the program and exit.
'--help'
Display a brief help page and exit.
Examples
********
$ watchgnupg --force --time-only $(gpgconf --list-dirs socketdir)/S.log
This waits for connections on the local socket (e.g.
'/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 suggested entry for the configuration files is:
log-file socket://
If the default socket as given above and returned by "echo $(gpgconf
-list-dirs socketdir)/S.log" is not desired an arbitrary socket name can
be specified, for example 'socket:///home/foo/bar/mysocket'. 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.