Pergunta

Eu tenho uma enorme orelha, que usa o log4j e não é um único arquivo de configuração, que é usado para configurar.Neste arquivo de configuração não há nenhuma menção de certos arquivos de log, mas, ficheiros adicionais além daqueles especificados no arquivo de configuração são criados na pasta de logs.Eu procurei por outras combinações de (logger|log4j|log).(propriedades|xml) e não encontrei nada promissor em todos os arquivos jar incluído no ouvido.Como faço para rastrear qual é o segmento incorreto/classe que está criando esses arquivos extras?

Foi útil?

Solução

Tente colocar um ponto de interrupção no Arquivo de classe de construtores e o comando mkdir e createNewFile métodos.Geralmente, o código vai usar a classe File para criar seus arquivos ou diretórios.Você deve ter o código fonte Java para estas classes incluídas com o JVM.

Outras dicas

Adicionar -Dlog4j.debug para a linha de comando e não será mais informações na saída padrão sobre como ele está configurado.

Formalmente SysInternal, agora o Process Explorer da Microsoft http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

"Encontrar" item de menu -> "Localizar Identificador ou DLL..."

SysInternals não pode ajudar com classe Java IO.Tente obter uma thread dump da JVM (por exemplo, matar -3), enquanto esses logs estão sendo gravados.Você deve ser capaz de pegar um thread em flagrante com java.io pacotes perto do topo da pilha de rastreamento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top