I've done a whole bunch of projects that use files to collect data.
Date 08/17/07 Time 08:22:35 AM: Shard:Sonoma -- Char:spanky -- House:Buck's Den -- Loc:(850 939) -- Condition changed to Greatly
Date 08/17/07 Time 08:22:46 AM: Shard:Sonoma -- Char:spanky -- House:Buck's Den -- Loc:(850 939) Status:Greatly
Date 08/17/07 Time 08:47:47 AM *** Program start *** Shard:Sonoma -- Char:spanky
Date 08/17/07 Time 08:48:11 AM *** Program start *** Shard:Sonoma -- Char:spanky
Date 08/17/07 Time 08:49:02 AM: Shard:Sonoma -- Char:spanky -- House:Buck's Den -- Loc:(850 939) -- Condition changed to Greatly
Date 08/17/07 Time 08:49:24 AM: Shard:Sonoma -- Char:spanky -- House:Buck's Den -- Loc:(850 939) -- Condition changed to Collapsing
Date 08/17/07 Time 08:50:09 AM: Shard:Sonoma -- Char:spanky -- House:Buck's Den -- Loc:(850 939) Status:Collapsing
Date 08/17/07 Time 02:14:15 AM *** Program start *** Shard:Sonoma -- Char:spanky
Date 08/17/07 Time 06:19:42 AM *** Program start *** Shard:Sonoma -- Char:spanky
Date 08/17/07 Time 06:19:58 AM: Shard:Sonoma -- Char:spanky -- House:Buck's Den -- Loc:(850 939) -- Condition changed to Collapsing
Date 08/17/07 Time 09:00:57 AM *** Program start *** Shard:Sonoma -- Char:spanky
Date 08/17/07 Time 09:11:46 AM *** Program start *** Shard:Sonoma -- Char:spanky
Or
date 041017 time 230107 ----program start ralph-baja
date 041017 time 230343 logout -- runtime n/a deadserpents: 0
date 041017 time 230345 loot count: mib:0 net:0 tmap:0
date 041018 time 003428 ----program start ralph-baja
date 041018 time 010747 logout -- runtime 0:31 deadserpents: 1
date 041018 time 010748 loot count: mib:0 net:0 tmap:0
date 041018 time 173631 ----program start ralph-baja
date 041018 time 193431 logout -- runtime 1:55 deadserpents: 11
date 041018 time 193432 loot count: mib:0 net:2 tmap:4
date 041018 time 223701 ----program start ralph-baja
date 041018 time 230828 logout -- runtime 0:30 deadserpents: 9
date 041018 time 230830 loot count: mib:3 net:1 tmap:2
date 041018 time 230946 ----program start ralph-baja
date 041018 time 231616 logout -- runtime 0:05 deadserpents: 2
date 041018 time 231617 loot count: mib:0 net:0 tmap:0
date 041020 time 214911 ----program start ralph-baja
date 041020 time 222048 logout -- runtime 0:30 deadserpents: 4
date 041020 time 222049 loot count: mib:0 net:0 tmap:2
date 041024 time 130239 ----program start ralph-baja
date 041024 time 130635 logout -- runtime 0:02 deadserpents: 0
date 041024 time 130636 loot count: mib:0 net:0 tmap:0
date 041024 time 143628 ----program start ralph-baja
date 041024 time 145805 logout -- runtime 0:20 deadserpents: 1
date 041024 time 145806 loot count: mib:0 net:0 tmap:0
date 041024 time 205123 ----program start ralph-baja
date 041024 time 224733 logout -- runtime 1:54 deadserpents: 11
date 041024 time 224734 loot count: mib:5 net:1 tmap:0
date 041103 time 205251 ----program start ralph-baja
date 041103 time 210552 logout -- runtime 0:11 deadserpents: 3
date 041103 time 210553 loot count: mib:0 net:1 tmap:1
date 041124 time 224728 ----program start n/a-baja
date 041124 time 235452 logout -- runtime 1:06 deadserpents: 7
date 041124 time 235453 loot count: mib:3 net:1 tmap:0
Date 080628 Time 185759 ----Program start ralph-Baja
Date 080628 Time 190400 ----Program start ralph-Baja
Date 080628 Time 190417 ----Program start ralph-Baja
But for a quick glance to see how the script is performing, there's no way you can beat a nice UI.

So I think you should use both. Honestly, the UI is also there to allow you to interact with the script for STOP/START/PAUSING/SETUP/ETC. Normally my script just start with this interaction, but then morph into something that gives you an updated on the fly representation of how things are going. Heck, even my Zoo donator does both so you can get a good historical record of your achievements.
So if you are only doing files, then you are missing out on some sexy looking scripts. :p