Logging

Tenho um sistema com várias classes e pacotes e preciso fazer um log das coisas que acontecem em cada uma dessas classes de cada pacote.

Qual seria uma maneira boa para fazer isso?
O Logger estática na classe principal (main[]) e as outras classes acessando esse Logger?

Vlw!

Nesta caso eu acho que a melhor opção é gravar em arquivo txt, usar properties nesta caso não seria ideal pois você vai adicionar várias linhas que não estão préviamente definidas.
Se não quer usar arquivo grava no banco entao, se a quantidade for muito grande do log com certeza é melhor.