To complement the Brett answer , check out the CustomTicks package in LevelScheme . It provides two functions for creating LinTicks and LogTicks labels, and each of them has many formatting options. Currently, this requires performing the logarithm yourself, i.e.
Plot[ {Log[10,Cosh[x]], Log[10, Sinh[x]]}, {x, 0, 4}, Frame -> True, FrameTicks -> { LinTicks, LogTicks, None, None }]
gives

For a list of data, obviously, you have to use Log[Base, data] with ListPlot , but it is functional. I introduced Mark Caprio patch so that the following is done the same as above
LogPlot[ {Cosh[x], Sinh[x]}, {x, 0, 4}, Frame -> True, FrameTicks -> { LinTicks, LogTicks, None, None }]
If the patch is accepted, the old LogTicks form will be available by setting the PlotType option to Linear , Logarithmic by default. The advantage of using CustomTicks is that other databases are lightweight.
![code for and plot of Exp [-x ^ 2] from 0 to 3](https://fooobar.com/undefined)
and it automatically formats it as you want.
Change I would also like to note that CustomTicks loads on its own, separately from the rest of LevelScheme . And, since this is a small package, there is not much extra overhead.