Reputation: 101
I have loaded a Java class into Oracle using the loadjava utility.
This class has some system.out.println messages.
When I execute a method from this class I want to see the the sysout messages.
Where can I find these messages?
Upvotes: 10
Views: 18598
Reputation: 47183
An Oracle article provides some useful information.
Quote:
Your class:
public class SimpleJava {
public void main(String[] args) {
System.out.println("Here we are");
}
}
Now, compile and load your class:
C:\oracle9i\bin>javac SimpleJava.java
C:\oracle9i\bin>loadjava -user scott/tiger SimpleJava.class
From SQL*Plus, create the PL/SQL wrapper to invoke the newly loaded Java class:
SQL> create or replace procedure call_simplejava
2 as language java
3 name 'SimpleJava.showMessage()';
4 /
Execute the code from SQL*Plus:
SQL> set serveroutput on;
SQL> call dbms_java.set_output(50);
Call completed.
SQL> execute call_simplejava;
Here we are
Upvotes: 7
Reputation: 17831
System.out and System.err writes to the current trace files.
You can enable output to SQL*Plus or similar with
set serveroutput on size 10000
exec dbms_java.set_output(10000)
See the Java Developer's Guide here.
That said, you should ask yourself, what do I want to log, that my client would not like to see returned in the interface to my procedure?. The answer to that is usually nothing.
I have been able to set up http://www.slf4j.org/ with a JDBC database appender (I am unsure of the specifics).
Upvotes: 7