Here are what I propose as minimum requirements:
1) A log file should be composed of ASCII text lines with each line being labeled as to what kind of output is presented for that line. Examples: input from the command interface (or GUI), output to the same, moves as they are played, results as they are established, current state of the move selection process, current state of the position, and the current value of the chess clock (if any).
2) Each line should begin with a timestamp with reasonable resolution. Symbolic uses YYYY.MM.DD HH:MM:SS.mmm and could be tweaked to give microsecond resolution (or tweaked to provide only second resolution). It may be a good idea to present the time values as UTC rather than local time for events with remote participants or observers.
3) There should be some mechanism for spooling the log file to a networked web server in real time. This is needed both to serve spectators and to provide support for third party archival assurance purposes.
4) It could be the case that some contents will be dependent on the GUI is use. This shouldn't be a real problem as long as the move selection is clearly shown to be that of the engine (or of the GUI when such is allowed).
5) Sample log files from all of the participants in an event should be publicly posted well before the event. Log files produced during an event should be sent to the event director (preferably in real time) asd also be publicly posted after each round.
Here's a sample log file excerpt from the new Symbolic core running under Xboard:
Code: Select all
2009.04.11 03:20:00.647 < time 259654
2009.04.11 03:20:00.649 < otim 255159
2009.04.11 03:20:00.651 < usermove Qb5
2009.04.11 03:20:00.652 Playing: 11 Qb5
2009.04.11 03:20:00.652 FEN: r2q3r/1pp2ppp/2nbkn2/pQ1pNp2/3P1P2/2N1P3/PPP3PP/R1B2RK1 b - - 3 11
2009.04.11 03:20:00.652 CC: [000:00:42:31.587 B 000:00:43:16.539]
2009.04.11 03:20:00.662 > 0 0 0 0 11... Nxe5
2009.04.11 03:20:00.662 > 1 6 0 13 11... Nxe5 12 fxe5
2009.04.11 03:20:00.662 > 1 12 0 30 11... Bxe5 12 fxe5
2009.04.11 03:20:00.662 > 2 12 0 236 11... Bxe5 12 fxe5
2009.04.11 03:20:00.665 > 3 -83 0 2531 11... Bxe5 12 fxe5 Ne4 13 Qxb7
2009.04.11 03:20:00.667 > 3 -77 0 3646 11... Qe7 12 Nxc6 bxc6 13 Qxc6
2009.04.11 03:20:00.684 > 3 6 2 17696 11... Nb4 12 Qxb7 Bxe5 13 fxe5 Nxc2
2009.04.11 03:20:00.699 > 4 5 3 29540 11... Nb4 12 Rf2 b6 13 Nf3
2009.04.11 03:20:00.811 > 5 12 14 131897 11... Nb4 12 Rb1 Nxc2 13 Qxb7 Qe7
2009.04.11 03:20:01.596 > 6 11 93 876550 11... Nb4 12 Qe2 Qe7 13 a3 Bxe5 14 axb4
2009.04.11 03:20:06.133 > 7 15 546 5267690 11... Nb4 12 Qxb7 Bxe5 13 fxe5 Rb8 14 Qa7 Nxc2
2009.04.11 03:20:37.937 > 8 8 3725 37146359 11... Nb4 12 Qe2 Qe7 13 a3 Nc6 14 Nxc6 bxc6 15 Bd2
2009.04.11 03:21:44.577 Analysis: [+0.081/37,146,359] 11... Nb4 12 Qe2 Qe7 13 a3 Nc6 14 Nxc6 bxc6 15 Bd2
2009.04.11 03:21:44.577 Playing: 11... Nb4
2009.04.11 03:21:44.577 FEN: r2q3r/1pp2ppp/3bkn2/pQ1pNp2/1n1P1P2/2N1P3/PPP3PP/R1B2RK1 w - - 4 12
2009.04.11 03:21:44.577 CC: [000:00:42:31.587 W 000:00:41:32.614]
2009.04.11 03:21:44.577 > move Nb4
