10 votes

Où va la sortie du système.out.println dans la classe Oracle Java ?

J'ai chargé une classe Java dans Oracle en utilisant l'utilitaire loadjava.

Cette classe contient certains messages system.out.println.

Lorsque j'exécute une méthode de cette classe, je veux voir les messages sysout.

Où puis-je trouver ces messages?

7voto

oluies Points 7682

System.out et System.err écrivent dans les fichiers de trace actuels.

Vous pouvez activer la sortie vers SQL*Plus ou similaire avec

set serveroutput on size 10000

exec dbms_java.set_output(10000)

Consultez le Guide du développeur Java ici.

Cela dit, vous devriez vous demander, ce que je veux enregistrer, que mon client n'aimerait pas voir retourné dans l'interface de ma procédure?. La réponse à cela est généralement rien.

J'ai pu mettre en place http://www.slf4j.org/ avec un JDBC appender de base de données (je ne suis pas sûr des détails).

7voto

darioo Points 23903

Un article Oracle fournit des informations utiles.

Citation :

Votre classe :

public class SimpleJava {
   public void main(String[] args) {
      System.out.println("Nous y sommes");
    }
}

Maintenant, compilez et chargez votre classe :

C:\oracle9i\bin>javac SimpleJava.java
C:\oracle9i\bin>loadjava -user scott/tiger SimpleJava.class

Depuis SQL*Plus, créez l'enveloppe PL/SQL pour invoquer la classe Java nouvellement chargée :

SQL> create or replace procedure call_simplejava
  2  as language java
  3  name 'SimpleJava.showMessage()';
  4  /

Exécutez le code depuis SQL*Plus :

SQL> set serveroutput on;
SQL> call dbms_java.set_output(50);

Appel terminé.

SQL> execute call_simplejava;
Nous y sommes

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X