It is complicated, because it can do *much* more than just write to file: emailing logs, logging to HTTP, TCP, UDP, SOAP servers, logging to Unix syslog and NT's event log.
BTW typical Java solution: does scale up but not down. In 2.4, basicConfig() scales down
ONLamp (2005)
IBM devel (2007) extended logging: store in SQLite db for later comparison
from author - API docs - config file format