As a workaround to the lack of this in QGIS you could open the .dbf file of your shapefile set (export it to shapefile first if you are using a different format)
and open it in [Libre Office Calc][1] to calculate the field in a new column with one of the following formulas:

    =LOG(Number,Base)
    =LOG10(Number)
    =LN(Number)

You can use practically all spreadsheet functions this way as long your feature count doesn't go into the millions and you don't reorder or delete any rows.

Make sure the header of the column is DBF compatible e.g (field name (10 characters max), data type, field length (including decimals), number of decimals)

    VALUE_LOG,N,24,12

Backup the original .dbf before you make any saves
and save/replace the opened one as a dBase (.dbf) file.

One .dbf may only be opened for editing by one program at a time so make sure you unload the shapefile first in qgis before loading it in calc and vice versa.


[1]: http://www.libreoffice.org/features/calc/