[Dúvida]Log em jtextarea

7 respostas
C

Olá bom dia :wink:
Estou com uma dúvida : como posso pôr as frases do meu log em um jtextarea. Como assim? Sabe, montei uma classe que usa o hibernate e também gerei um log para poder mostrar ao usuário que algo está sendo feito, ou seja, programa carregando. Porém, gostaria de por esses eventos lá e como fazer para ele salvar automaticamente em um arquivo log? Bom, usei a ferramenta de busca e não encontrei por isso estou postando ^^

7 Respostas

Felagund

de uma pesquisada sobre a API java.util.logging

Eu lei os arquivos de log (O Sistema gera 3 arquivos com 1MB no máximo) e mostro no sistema, lendo esses arquivos.

[]'s

C

Agradeço pela resposta mas quero em tempo de execução. Por exemplo, sabe quando você manda executar um projeto no NetBeans? Não tem aquela área que mostra o que está ocorrendo com o projeto? Isso que desejo fazer. Disseram-me para pegar esse log e por em um jTextArea mas não sei como fazer. Aguardo respostas ^^

igor_jua

Cara, é o seguinte.
Posso estar errado mas tenta ir no diretorio onde o log esta gravado e faz o seguinte:

public class buscalog{



private static BufferedReader fileReader= null;
private static FileReader file =  new FileReader ();


public static Vector<String> buscaArquivo(String local){// por aqui vc deve passar o diretorio onde esta localizado o log juntamente com
//o nome do arquivo log
//por ex.  "  C:/logDoProgramaX.log    "

Vector <String> linhas = new Vector<String>();
try{


            file = new FileReader(new File(local));
            fileReader = new BufferedReader(file);
            String linha=null;
            while(true){
            linha = fileReader.readLine();
            if(linha==null){
            break;
            }
             linhas.add(linha);
}

            
            return linhas;

}catch(Exception e){
e.getMessege();
}

}
//Então na classe onde se encontra sua interface grafica vc deve fazer:

public void geraLogEmTextArea(){
String log=" ";//Note que aqui eu seto um valor no objeto String como um caracter em branco.
Vector<String> linhas=buscalog.BuscaArquivo("C:\nomedoarquivo.log");

for(String s: linhas){
log+=s;
}
log=log.substring(1,log.length);//tiro o espaço em branco que havia setado no objeto no inicio do metodo.

jTextArea1.setText(log);
//com isso vc é capaz de setar valores do lgo no seu TextArea em tempo de execução!!
vlwwww!! 8)

}

C

Valeu cara, vou tentar. É que eu ainda não aprendi muito sobre LOG. Ou seja, vou estudar como gerar esse arquivo log vou na documentação aí testo o que você me disse. Valeu sério mesmo!

Dieval_Guizelini

Caio,

você já deu uma olhada nestes projetos, são muito interessantes:
chainsaw
http://logging.apache.org/chainsaw/index.html
log4j
http://logging.apache.org/log4j/

fw

igor_jua

cara…é so c salvar o arquivo com extensão .log

Marky.Vasconcelos

Como voce faz seu log? Se não me engano é via System.out.print…

Voce pode mudar para esse println aparecer na sua jtextarea

System.setOut(new PrintStream(new OutputStream() {
        @Override
        public void write(int b) throws IOException {
            jTextArea.append(String.valueOf((char) b));
        }
    });

Mas qualquer System.out.print/ln/f vai aparecer lá também.

Criado 29 de abril de 2009
Ultima resposta 6 de mai. de 2009
Respostas 7
Participantes 5