Console application

The application is easy to use. You can filter the output to only have logs from ifdreader.

syslog -k Sender com.apple.ifdreader

Another opiont is to use the command line tool syslog(1).

$ syslog -w -k Sender com.apple.ifdreader

Arguments:

-w
The -w option causes syslog to wait for new messages. By default, syslog
prints the last 10 messages, then waits for new messages to be added to
the data store.

-k
The -k option may be followed by one, two, or three arguments. A single
argument causes a match to occur if a message has the specified key,
regardless of value. If two arguments are specified, a match occurs when
a message has exactly the specified value for a given key. For example,
to find all messages sent by the portmap process:

syslog -k Sender portmap

Sample output

I used lwatch to add colors and ansi2html to convert the ANSI color codes to HTML.

ATR and APDU logging

Using pcscd it was possible to log APDU sent to the card and the response from the card. This service is now missing since pcscd is no more present.

I added a new option to the CCID driver to log this information. Since it is a sensitive information (you can see the PIN code sent to the card for example) you need the administrative privilege and edit the driver configuration file Info.plist. The configuration file should be /usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/Info.plist.