www.viniciocoletti.it > Projects > Vilog > File formats

Vinicio Coletti site

VILOG file formats

Designed and written by IK0WRB (Vinicio Coletti)

Introduction

The logs of Vilog are saved and read from files having the extension .vlg
They are basically text files (except for one of the formats) with specific tags and exist in different versions, handled automatically by the program.
All versions of Vilog can read all current and previous file formats, with a full backward compatibility.
By the way, every Vilog version can write just the formats current to that version.
Please note that Vilog was distributed from v1.3 to v2.2 and that for now Vilog v2.5 is used only by the author.
What follows is a description of each file format.

File format 1

It is a text file, with a header section at the beginning.
Each line is terminated, for maxiumum compatibility towards text editors, by the MSDOS/Windows ending of CR/LF (0x0d 0x0a).
In the header there is one tag per row. Every tag is an all uppercase word, followed by a colon and the tag content.
There is the program name and version and the data of the home station for that log, that is the callsign, name, location and WW locator.
The header is concluded by the empty tag EOH:
Here is and example, from one of my log files:
PROGRAM:Vilog
VERSION:1.3
NAME:Vinicio Coletti
LOCATOR:JN61GV
QTH:Roma
CALLSIGN:IK0WRB
EOH:

After the header there are the QSO data. Every QSO is made by several tags, distributed in one or more rows, in a totally free way, except for the NOTE: tag, which must be alone in one row. Every content of a tag will end at the first space.
Also, the first tag of one QSO must be the DATE: tag and the last is the empy tag EOQ:
Certain tag are always present, for example DATE:, UTC:, CALL:, and so on. Others may be present or not, depending on the data available.
For example, if there is no comment for that QSO, the NOTE: tag will not be present at all. If present, it will be the only tag in one row, to enable comments with variable length (up to 256 characters) and containing also spaces.
All this means that all Vilog formats do use variable length records.
Here is an example of QSO record:
DATE:19931130 UTC:232000 BAND:2m MODE:Phone SUB:FM
CALL:IK0RCC RSTS:59 RSTR:59 WWL:JN61FV
NOTE:*RM
DXCC:248 WAZ:15 WAIP:RM QSL:SNBNNNNN EOQ:

There is no ending tag of the log, it simply ends with the last QSO and its EOQ:
This format is readable by all versions of Vilog and was written by Vilog v1.0, v1.1, v1.2, v1.3

File format 2

It is similar to format 1, with the addition of PLACEDEF: tags, that may be present between one QSO and the following.
These records define a new transmitting site, that can be used in the QSO records, to indicate that it happenend not from the standard location, defined in the header, but from a new QTH.
The format is: PLACEDEF:number;label;callsign;QTH;locator
For example one (fictious) could be: PLACEDEF:1;Numana;IK0WRB/P;Numana;JN74HK
After this place is defined in the program (and saved this way in the log), you can assign a QSO to this place when adding/editing a QSO, selecting place number 1, Numana. Numbers start at 1, because number 0 is the normal, default, place.
This format is readable by Vilog from version v1.4 and was written by Vilog v1.4, v1.4.1, v1.4.2

File format 3

It is similar to format 2, with the QSL data written in the variable format of QSL:DBL-GDBL, while in the past it was written in the fixed formats of QSL:SDBLRDBL or QSL:NDBLGDBL.
The letters mean: S=sent R=received N=not present D=direct B=bureau L=LoTW G=granted in DXCC award.
For example if for a QSO we sent Direct and LoTW QSL cards and received only LoTW, the tag in file format 1 and 2 could have been QSL:SDNLRNNL, while the new tag in file format 3 is QSL:DL-L.
This format is readable by Vilog from version v1.5 and was written by Vilog v1.5, v1.5.1, v1.6, v1.6.1, v1.7, v1.8, v1.9, v2.0, v2.1, v2.2

File format 4

It is similar to format 3, with shorter tag names in the QSO records.
For examples, instead of DATE: we have D:, instead of UTC: we have T:, instead of RSTS: we have RS:, and so on.
This simple option reduces by 20-25% the log file length, making also a bit faster the read and write processes.
This format is readable by Vilog from version v1.5 and was written by Vilog v1.5, v1.5.1, v1.6, v1.6.1, v1.7, v1.8, v1.9, v2.0, v2.1, v2.2

File format 5

It is similar to format 3, but without the PLACEDEF: tags and with a possible list of transmitting sites listed in the header.
These tags are named PLACE: and have the same format of the old PLACEDEF:, that is PLACE:number;label;callsign;QTH;locator.
For example we could have an header like this:
PROGRAM:Vilog
VERSION:2.5
NAME:Vinicio Coletti
LOCATOR:JN61GV
QTH:Roma
CALLSIGN:IK0WRB
PLACE:1;Numana;IK0WRB/P;Numana;JN74HK
PLACE:2;Porta_Ferentino;IK0WRB/P;Ferentino;JN61PQ
EOH:

This format is readable by Vilog from v2.5 and is written by Vilog v2.5

File format 6

It is similar to format 5, but with shorter tag names.
This format is readable by Vilog from v2.5 and is written by Vilog v2.5

File format 7

It is similar to format 5 or format 6, but with binary QSO records.
The header is still in text format and include the tag FORMAT:Binary.
Each QSO record is made by a fixed binary part of 38 bytes, with all the relevant QSO data in binary form, followed by 7 variable length strings, each seaparated by the "|" character and terminated by the usual CR/LF text line ending (0x0d 0x0a).
This format permits to spare about 60% of disk space for the log files and enables a faster loading and saving of the logs.
However, it is lost the ability to edit a log also with a standard text editor. Also, band, mode and other data are linked to the Vilog internal data, so the suggestion is to save in this format for the daily activity, while saving time to time in text format (format 5 or format 6), which will be also useful when switching to a newer program version.
This format is readable by Vilog from v2.5 and is written by Vilog v2.5