© 2017-2019 by Susan Southcott - VK5AYL

Exporting Logs

I use SQLite as the database on the iPhone/iPad. Its a really good database to work with and has been around for a very long time. I love SQL and all data retrieval, updates and inserts are done in SQL.

The screen shot shows the counts for all logged data, this uses 2 SQL statements, one for the top section and one for the bottom. It is very fast. From this screen you can:

  • Run a report before exporting

  • Export to ADIF/CSV files

  • View the log files

  • Undo the last export

  • Remove exported data from the database once your logs have been uploaded to and accepted by SotaWatch & LogSearch.

The export process

Logs are stored on your device in a variety of folders which you can get to using Apple's Files.app (see the documentation):






Under most of these folders are individual folders for ADIF and CSV. The Report folder only contains CSV files which can be loaded into Excel.

Prior to ADIF version 3.04, there was no support for SOTA logs. I pressed on regardless because I knew one day it would probably be supported. Its a good idea to have a standard, without it there is total chaos! I take my hat off to those charged with checking ADIF logs before uploading them. ADIF files can be difficult to read with all the tags. It's the reason I chose to write export functions that would take the manual handling out of the process. It wasn't easy to bring it all together though. There are not many examples of logs around and thanks to a few experts such as Paul VK5PAS, Allen VK3ARH and Peter VK3ZPF, I gathered enough to get started. The app is now using the ADIF specification version 3.0.9 as well as the latest CSV specs.

I decided early on that I would only produce the basic export fields that were necessary to enable loggers to win Awards. There are many many fields in the ADIF format. To collect that amount of data on a small device would require multiple pages of data entry and nobody would use it in the field. If I was writing a Mac program, I could easily offer more but with this app, I've adhered to the KISS principle.

Here is an excerpt from SOTA & WWFF logs. I've put each field in the ADIF format on a separate line, so its easier to read. Normally, they would be altogether, one after the other.

<STATION_CALLSIGN:6> is the field and the length of the callsign ie VK5AYL which is 6 characters long.

If you are wondering what EOH, EOR & EOF mean, they are End of Header, End of Record and End of File. They are used to indicate to an upload program what is a header, what is a data record and what is the end of file. Generally, there will be one header record and multiple data records, that's why the upload programs need to know the type of record. Not all upload programs need them obviously as they are not required in every file format.

You can undo an export so that you can fix any errors and then export the logs again.

ADIF Format

Header Record




Data Record for WWFF















<COMMENT:5>Good signal<EOR>

Data Record for ​SOTA


















CSV Format

Header & data Record for WWFF



If you open the csv file in Excel, it would look like this

stationCall | operatorCall | reference | qsoDate |qsoTime |qsoBand |qsoMode | hunterCall | hunterRef | EOH

VK5AYL | VK5AYL | VKFF-0995 | 20190320 | 0547 | 40M | SSB | VK5ZNC | VKFF-1684 | EOR

Data Record for SOTA


If you open the csv file in Excel, it would look like this

V2 | VK5AYL | VK5/NE-006 | 22/02/19 | 2155 | 7MHz | SSB | VK5ZNC/P | VK1/AV-043

There is no header required for SOTA csv files