System.out.println não funciona

8 respostas
pyro

Pessoal tenho uma classe que é acessada via servlet, dentro desta classe coloquei um System.out.println() mas o mesmo não está imprimindo a mensagem no console do Eclipse quando eu executo a aplicação.

Isso não é possível?

P.S.: tenho certeza que a execução ocorre e passa por onde coloquei o System.out.println().

8 Respostas

guilherme.dio

Posta o bloco de código ai que faz a chamada do Println na saída.

jeffev

Na teoria não, poste o código para que posamos lhe ajudar mais.

Não ocorre nenhum erro na hora da execução?

Ataxexe

Note que você pode mudar o System.out para outro PrintStream, assim ele não iria imprimir na console. É assim que o Eclipse faz pra imprimir as coisas na View Console.

Um exemplo simples:

public static void main(String[] args) throws FileNotFoundException { System.setOut(new PrintStream(new File("/tmp/system.out"))); System.out.println("Teste"); }

Mesmo a variável System.out sendo final, a mudança é possível porque o método que faz isso não é implementado em Java (é declarado como native).

O JBoss usa uma abordagem parecida para logar o que vai pro System.out e System.err pro arquivo de log.

Como você tem certeza? Debugou o código até chegar na linha em questão e viu a chamada sendo feita? Se for o caso suas classes podem estar desatualizadas com o fonte.

pyro

Ataxexe:
Note que você pode mudar o System.out para outro PrintStream, assim ele não iria imprimir na console. É assim que o Eclipse faz pra imprimir as coisas na View Console.

Um exemplo simples:

public static void main(String[] args) throws FileNotFoundException { System.setOut(new PrintStream(new File("/tmp/system.out"))); System.out.println("Teste"); }

Mesmo a variável System.out sendo final, a mudança é possível porque o método que faz isso não é implementado em Java (é declarado como native).

O JBoss usa uma abordagem parecida para logar o que vai pro System.out e System.err pro arquivo de log.

Como você tem certeza? Debugou o código até chegar na linha em questão e viu a chamada sendo feita? Se for o caso suas classes podem estar desatualizadas com o fonte.

Vamos por parte, eu sei que passou por ali, pois fiz testes “burros”, coisas tipo assim:

String teste = "passou"
System.out.println("passou");

Logo em seguida em gravei em um banco de dados, MySQL no caso, o conteúdo da variável teste e o conteúdo no banco estava correto, mas no console não estava impresso.
Eu já trabalhei em outros projetos Java para Web que o System.out imprimia no console de boa, mas neste em específico não funciona, como é um sistema legado (ERP) um pouco antigo não sei se algo pode estar “configurado” para não funcionar assim.

Por isso perguntei.

Vou testar o seu exemplo.

robson.souza1990

Já vi frameworks proprios de empresa onde alguns recursos são bloqueados para impedir que o programador fuja aos padrões…dentre eles sys.out.

gilsonk

Desenterrando…

Estou com o mesmo problema, até ontem imprimiu normalmente, fechei a console e reabri ela via Menu->Window-Show View normalmente.
Simplesmente parou de imprimir o conteúdo da System.out.println().

Segue um exemplo da execução.

public List<LogAplicacao> getLogAcoes() { System.out.println("entrou no controle"); logAplicacao = aplicacaoDAO.listarAcao(); }

Os dados são listados na view porem na console nada ocorre.

Já segui os passos da comunidade: https://community.jboss.org/thread/129225
Nem no log aparece.

Alguém pode me dar uma luz?

Obrigado

Ataxexe

Por que desenterrou se abriu um tópico pra isso?

gilsonk

divergências!!!

Criado 23 de agosto de 2012
Ultima resposta 3 de mai. de 2013
Respostas 8
Participantes 6