I have loaded a java class into oracle using loadjava utility
This class has some system.out.println messages.
When I execute a method from this class I want
An Oracle article provides some useful info.
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
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 setup http://www.slf4j.org/ with a jdbc database appender (unsure of the specifics)