RE:Salida de errores a fichero
Yo hago algo parecido en varias aplicaciones, pero no sé si te valdrá la idea. Yo lo hago de forma que voy "recopilando" los errores en una clase llamada Errors. Esta clase es estática y puede llamarse desde cualquier otra clase. Su única función es ir almacenando los mensajes y códigos de error en un ArrayList.
Cuando la aplicación termina, simplemente creo un fichero de texto y escribo cada línea almacenada en el ArrayList en dicho fichero.
Si lo que quieres es que te lo escriba directamente en un fichero, en vez de tener esa clase que vaya almacenando los errores, puedes añadir una línea directamente sobre el fichero.
Como ventaja de la forma que yo uso, es que solamente accede a fichero una vez, al finalizar la aplicación. La otra opción, tiene como gran ventaja que si se cierra inesperadamente, los errores ya estarían guardados y no se habría perdido esa información.
Depende del objetivo que quieras conseguir te puede convenir más una forma u otra.
Si de lo que tienes dudas es de cómo generar o escribir el fichero me lo dices, aunq buscando un poquito por la red encontrarás información más que suficiente para hacer eso ; )