Criar um thread por que ?

A cada vez que vc abre o log para adicionar (O log não deveria ficar aberto o tempo todo, mas somente no momento de escrever nele) vc verifica o tamanho do log que vem num arq de properties. Se for maior ou igual ao tamanho prescrita vc faz um file.rename() e cria um novo.

Nunca deixa um log aberto pois há chance de corrupção do arquivo no caso de crash de maquina, especialmente em Unix com lazy writes.

A maneira acima mencionado é mais ou menos do jeito que apache et al. fazem

Ricardo Santiago wrote:
[EMAIL PROTECTED]">
Se você quer mesmo implementar isso na mão faça o
seguinte:

Crie uma thread nova que monitore o crescimento do
arquivo. Pode ser uma daemon thread.
Mantenha comunicação entre as duas threads, a que
escreve o log e a que monitora o tamanho do arquivo.
Quando a thread que monitora o tamanho do arquivo
detectar que deve particiona-lo, esta deverá notificar
a outra, para que ela TRAVE quaisquer tentativas de
escrita e feche o arquivo.
A thread monitora faz as mudanças necessárias no
arquivo e após terminar notifica novamente a outra
thread para que esta abra o arquivo e volte a atender
os clientes esperando.

Deu pra ter uma idéia?

Você vai ter de estudar um pouco sobre threads e
syncronization efetiva.

Ricardo Munhoz Santiago

--- Alan Alexandre da Silva <[EMAIL PROTECTED]>
wrote:
Oi, o problema é que o arquivo vai estar sendo
usado. Imagine que o arquivo
de log está recebendo mensagens a todo o momento.
Então, quando o arquivo
atingir um determinado tamanho, eu terei que pegar
seu conteúdo, tranferi-lo
para outro arquivo(backup) e tornar a fazer o meu
arquivo de log receber
mensagens. Várias classes estão jogando mensagens no
meu arquivo de log. Tem
alguma sugestão ? Obrigado.

Alan


------------------------------ LISTA SOUJAVA
----------------------------
http://www.soujava.org.br - Sociedade de Usuários
Java da Sucesu-SP
dúvidas mais comuns:
http://www.soujava.org.br/faq.htm
regras da lista:
http://www.soujava.org.br/regras.htm
para sair da lista: envie email para
[EMAIL PROTECTED]

-------------------------------------------------------------------------


__________________________________________________
Do You Yahoo!?
Listen to your Yahoo! Mail messages from any phone.
http://phone.yahoo.com

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
------------------------------------------------------ -------------------




Responder a