Your log file should be in the following format:

<timestamp> \TAB <command> \TAB <parameters>

we have reserved some commands for grading:

ADD
EVICT
FLUSH
CHSIZE
DUMP
NOTMOD
HIT


you can define your own commands and put them in your log file
if you are doing something really cool..

here is the format of each command:

ADD, NOTMOD, HIT:

<timestamp> \TAB ADD \TAB <URL>
<timestamp> \TAB NOTMOD \TAB <URL>
<timestamp> \TAB HIT \TAB <URL>


EVICT:

three possible evicts:

<timestamp> \TAB EVICT \TAB <URL> \TAB Expired
<timestamp> \TAB EVICT \TAB <URL> \TAB Cache Full
<timestamp> \TAB EVICT \TAB <URL> \TAB Delete Requested

note: if you are shrinking your cache size and you need to evict, then the
reason will be Cache Full..

FLUSH:

nothing fancy..

<timestamp> \TAB FLUSH

CHSIZE:

<timestamp> \TAB CHSIZE \TAB old: <oldsize> new: <newsize>


DUMP:

!!!!IMPORTANT!!!!
most of the automated grading will use these dump files.. they are result of
 INFO commands.. we defined two INFO types..

if issued "INFO 0".. then dump everything in the cache..
if issued "INFO 1".. them dump everything which is NOT expired.. depending on 
your implementation INFO 0 and 1 might give the same results..

follow this exact format:

<timestamp> \TAB DUMP \TAB Dump Start
<timestamp> \TAB DUMP \TAB Size <cachesize>
<timestamp> \TAB DUMP \TAB <fileid> \TAB <size> \TAB <hits> \TAB <expire date> \TAB <URL>
<timestamp> \TAB DUMP \TAB <fileid> \TAB <size> \TAB <hits> \TAB <expire date> \TAB <URL>
<timestamp> \TAB DUMP \TAB <fileid> \TAB <size> \TAB <hits> \TAB <expire date> \TAB <URL>
for each object..
.
.
.
<timestamp> \TAB DUMP \TAB Dump End


note that the timestamp for DUMP's should be the same!.. even if there is
 some delay between Dump Start and Dump End.. (this special case is only for DUMP.. 
all other timestamps are independent)..


We are also providing two sample log files for you to examine.. We will also 
provide a script to test if you are producing a correct, parsable log..