Alterar caminho de arquivo de logs

Bom dia pessoal,

Alguém sabe informar se é possível alterar o caminho onde o fluig salva os arquivos de log?

Estamos com uma situação onde o Fluig foi instalado na unidade C:/, onde não conseguimos aumentar o espaço do disco, e foi criada uma unidade D:/ com esse objetivo, mas o processo de transferência está sendo manual.

Obrigado desde já,

Att.,

Matheus Mósso

O caminho dos logs é definido pela propriedade jboss.server.log.dir.

Essa propriedade pode ser modificada pelo domain.conf adicionando a seguinte linha:

JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=/novo/diretorio/logs/"

Outra opção é adicionar no arquivo domain.sh mas não é uma boa prática.

Isso vai mudar todos os logs. Se quiser mudar apenas o server.log, você pode editar o domain.xml também:

Localize a tag:
<file relative-to="jboss.server.log.dir" path="server.log"/>

E altere para:
<file path="/novo/diretorio/logs/server.log"/>

1 curtida

Acho que vale também um gerenciamento melhor dos logs no sentido de não exibir os INFO, deixa exibir somente os erros, que são realmente o importante em produção.

Ao menos a fábrica que nos atendia colocava um monte de log.info espalhado no código (como forma de debug) e nunca removia isso ao enviar pra produção, deixando tudo sujo e fazendo o log ficar gigante. Além disso toda vez que salva um formulário ele vai inteiro pro log como INFO, deixando o log ainda maior (e muitas vezes nem seria interessante ter os dados do formulário no log devido a alguma segurança dos dados).

Muito obrigado, @venturelli!

De qualquer forma, como o @Bruno_Gasparetto disse muito bem, não faz sentido ter tantos log.info em produção, vou discutir com o time sobre isso.

Abraço!

Bom dia @venturelli,

Uma dúvida: Usamos nosso Fluig em servidor Windows, como eu apontaria o log para ser salvo em D:/logs/server.log?

Pelo que percebi ele usa o caminho relativo.

Abraço!

Tanto o JAVA_OPTS quanto a alteração no xml que eu passei são caminhos absolutos, mas eu uso linux. Para windows, eu não consigo testar, mas acredito que seja dessa forma:

Via domain.conf.bat (adicione após o label :JAVA_OPTS_SET):

:JAVA_OPTS_SET
set "JAVA_OPTS=%JAVA_OPTS% -Djboss.server.log.dir=D:\logs\"

Ou via domain.xml:

<file path="D:\logs\server.log"/>

Note que no domain.xml foi removido o atributo “relative-to” que normalmente existe.

Lembrando que no domain.conf.bat vai alterar para todos os tipos de log e no xml apenas para o log principal.

1 curtida

Funcionou perfeitamente, muito obrigado mais uma vez!

@venturelli Boa tarde! Percebi que, ao alterar o caminho do log, a visualização do log pela Central de Diagnósticos parou de funcionar. Existe alguma outra configuração que necessite ser realizada ou o caminho do log fica “chapado” no código?

Obrigado desde já.

Parece um bug mesmo referente a retirada do relative-to acho que vale um pedido de correção.

Como paliativo, dá pra voltar o relative-to mas apontar para outra variável:

no arquivo host.xml, após a tag extensions adicionar a tag paths:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<host xmlns="urn:jboss:domain:10.0" name="master">

    <extensions>
        <extension module="org.jboss.as.jmx"/>
        <extension module="org.wildfly.extension.core-management"/>
        <extension module="org.wildfly.extension.elytron"/>
    </extensions>
    
    <paths>
        <path name="jboss.server.other.log.dir" path="D:\logs\"/>
    </paths>

    <management>
        <!--- ... -->
    </management>
    <!--- ... -->
</host>

No arquivo domain.xml, voltar o relative-to

<file path="server.log" relative-to="jboss.server.other.log.dir"/>

E no domain.conf.bat (ou domain.conf se fosse linux):

set "JAVA_OPTS=%JAVA_OPTS% -Djboss.server.other.log.dir=D:\logs\"

Apenas uma correção, que vou ajustar no principal. Não deve ser adicionado no final do arquivo, mas antes da linha com o label :JAVA_OPTS_SET

1 curtida

Excelente @venturelli. Funcionou perfeitamente. Apenas mais uma dúvida: ao baixar o log pela opção ‘Baixar log do servidor completo’, na página Painel de Controle > Controle de Log, o arquivo é baixado contendo a data atual no nome, mas o arquivo compactado é um log de 02/10.

Existe alguma configuração para isso também?

Obrigado desde já.

image

image

image

Esse parece estar pegando diretamente da variável jboss.server.log.dir. Ou segue a linha de alterar essa variável e mudar todos os logs do sistema mesmo, ou só via chamado pedindo correção pra pegar do ponto certo.

1 curtida

Olá, sobre não conseguir aumentar a partição, vou compartilhar uma ideia, pois precisei em uma situação e fiquei quebrando a cabeça por dias. Caso não permita mover a partição seguinte, pode clonar o disco e redimensionar o novo conforme necessário. Talvez chegue num beco sem saída em algum momento com esse espaço em disco…

Sofri com isso.
Para contornar e não ocorrer esquecimento, um parametro definido em um formulario (que criei como parametros diversos) onde defino se meus logs serão exibidos. Ai ao inves de eu chamar log.info direto no código, eu criei uma função que recebe a variavel que vai ser impressa, o tipo de log e no meu script eu chama o parametro para ver se ele ta ativo ou nao para imprimir ou nao.

1 curtida