Classe Log e DB

Bom… estou com algumas duvidas como estruturar essas duas classes.

A classe log será responsavel por receber os eventos e armazenar em algum lugar (arquivo o BD)… Digamos que no meu site tenha 30 users ativos, todos realizando eventos ao mesmo tempo…
Se tiver q fechar e abrir um arquivo… várias vezes acho q vai acabar dando merd@…rsrs

A outra opçao seria recorrer ao BD… mas tambe abrir e fechar conexao toda hora não é custoso?

Quanto ao modificador dessa classes… elas deveriam ser estaticas^??? Pois assim nao precisaria instacia-las toda vez q fosse usa-las… jah q serão mt utilizadas…

espero q possam me ajudar…

Pesquise sobre o Log4j. Ele é muito poderoso, e já controla a gravação de arquivos de logs, distribuição do log em vários arquivos, nível de detalhe do log.

Abraço.

Soh pra salientar q meu projeto nesse momento nao é em JAva… é em php… mas recorri ao forum pq sei q tem mt gente boa… entao continuar a duvida…

abs

Acho que daria para fazer num esquema producer/consumer. Os seus clientes nas suas threads chamam a sua classe de log, que põe uma requisição numa fila bloqueante, enquanto isso uma outra thread vai lendo as requisições e escrevendo no arquivo. Não tenho a menor idéia se dá para fz isso em PHP…