I think I've found the answer to my own problem. The Fragment-Host needs to match the Bundle-SymbolicName of the host bundle (not any old package in the host bundle). So, instead of
Fragment-Host: org.apache.log4j
it should have just been
Fragment-Host: log4j
"log4j" being the bundle symbolic name of the Apache log4j bundle.

