If you have a large amount of calibData, then preserving packed arrays can greatly improve speed. Convert it all to Reals and then apply logarithm.
calibData = 10 RandomInteger[{1, 20}, {10^6, 2}];
Transpose @ {Log10 @ #[[1]], #[[2]]} &@ Transpose @ N @ calibData; // AbsoluteTiming
(* {0.098568, Null} *)
Transpose @ {Log10 @ N @ calibData[[All, 1]], N @ calibData[[All, 2]]}; // AbsoluteTiming
(* {0.106482, Null} *)
MapAt[Log10, N@calibData, {All, 1}]; // AbsoluteTiming
(* {1.525485, Null} *)
The second components of calibData get converted to Real in this process. If you need them to be integers, you might use Round if the integers are not too large. Otherwise, you can hope that the performance with unpacked arrays is acceptable.
Compared with unpacked:
Transpose @ {Log10 @ N @ calibData[[All, 1]], calibData[[All, 2]]}; // AbsoluteTiming
(* {0.369981, Null} *)
MapAt[N @ Log10[#] &, calibData, {All, 1}]; // AbsoluteTiming
(* {8.740113, Null} *)
The arrays will be unpacked in these cases because the numbers are not all the same type (some Real, some Integer).