Log::Log4perl uses Log::Dispatch internally to accomplish writing messages to various output channels (files, screen, email etc.) when it's time to write them. Log::Dispatch provides what Log::Log4perl calls appenders, sinks for output.
However, the question was how to write error messages into one file and debug messages into another. How would you do that without a framework around Log::Dispatch?