How can I set the axis for ScalingFunction in a BarChart?

Why is the scaling function being applied to the wrong axis? Here, the log ticks are on the Y axis, but they should be on the X axis:

BarChart[{0.1, 1, 10, 100}, ChartElementFunction -> "GlassRectangle",
ChartStyle -> 45, ScalingFunctions -> "Log", BarOrigin -> Left,
Frame -> True]

-
It looks like ScalingFunctions is affected by Frame -> True (possible bug). If you remove Frame -> True, then the log ticks are applied to the x axis as expected. – R. M. Oct 17 '12 at 18:03
@rm-rf That qualifies as a good answer! – Dr. belisarius Oct 17 '12 at 18:35

I think this is a bug in how ScalingFunctions works. It is affected by the Frame -> True option, and if you remove it, then the scaling is applied correctly to the x-axis.
BarChart[{0.1, 1, 10, 100}, ChartElementFunction -> "GlassRectangle",

Attempts to reintroduce the frame using Show[..., Frame -> True] also fail, so if you need the frame, you might have to roll your own.
I'll dig into this later today (it might not entirely be a bug). ScalingFunctions -> "Log" applies it to both axes (you can easily hide the y-ticks). In fact, the x-axis is transformed too... the values you see are Log@ of your values. It's just not displayed in a convenient way. If you want log to the base 10, you can use the undocumented ScalingFunctions -> "Log10" and the x-ticks are correctly displayed from -1 to 2. The trick is then to get it to display as 10^x. There are several ad-hoc ways of doing it, but I'm trying to see if it can be done within the function itself. – R. M. Oct 17 '12 at 19:07