Groups > DB2 > DB2 UDB > Re: log4j within java stored procedure




log4j within java stored procedure

log4j within java stored procedure
Thu, 22 Nov 2007 03:03:44 EST
I want be able write some information from db2 inserts into Windows Application
Log. I try use log4j's NTEventLogAppender within java stored procedure, called
from trigger.<br />
<br />
example of SP:<br />
<br />
package PKG71021015549570;<br />
<br />
import java.sql.*;                 <br />
import org.apache.log4j.Level;<br />
import org.apache.log4j.Logger;<br />
import org.apache.log4j.SimpleLayout;<br />
import org.apache.log4j.nt.NTEventLogAppender;<br />
<br />
public class PROCEDURE2<br />
{<br />
<p />
    public static void pROCEDURE2 (int  value ) throws SQLException,
Exception<br />
    {<br />
        Logger logger = Logger.getLogger("computel.test");<br
/>
        logger.setLevel(Level.INFO);<br />
        NTEventLogAppender ntAppender = new NTEventLogAppender();<br />
        logger.addAppender(ntAppender);<br />
<p />
        Connection con =
DriverManager.getConnection("jdbc:default:connection");<br />
        PreparedStatement stmt = null;<br />
        boolean bFlag;<br />
        String sql= "UPDATE VYAROSHEVICH.TEST2 SET \"COUNT\" =
"+value;<br />
<br />
        stmt = con.prepareStatement( sql );<br />
        bFlag = stmt.execute();<br />
        logger.info("Test message 2: "+value);<br />
<br />
    }<br />
}                 <br />
<br />
It's works from  db2 development Center, but calls from trigger or clp fail
(sqlstate=38501)! What reason for it?<br />
<br />
Post Reply
Re: log4j within java stored procedure
Fri, 23 Nov 2007 21:30:01 +010
dwforums@us.ibm.com wrote:

> I want be able write some information from db2 inserts into Windows
> Application Log. I try use log4j's NTEventLogAppender within java stored
> procedure, called from trigger.<br /> <br /> example of
SP:<br />
> <br />
> package PKG71021015549570;<br />
> <br />
> import java.sql.*;                 <br />
> import org.apache.log4j.Level;<br />
> import org.apache.log4j.Logger;<br />
> import org.apache.log4j.SimpleLayout;<br />
> import org.apache.log4j.nt.NTEventLogAppender;<br />
> <br />
> public class PROCEDURE2<br />
> {<br />
> <p />
>     public static void pROCEDURE2 (int  value ) throws SQLException,
>     Exception<br />
>     {<br />
>         Logger logger = Logger.getLogger("computel.test");<br
/>
>         logger.setLevel(Level.INFO);<br />
>         NTEventLogAppender ntAppender = new NTEventLogAppender();<br
/>
>         logger.addAppender(ntAppender);<br />
> <p />
>         Connection con =
>        
DriverManager.getConnection("jdbc:default:connection");<br />
>         PreparedStatement stmt = null;<br /> boolean bFlag;<br
/>
>         String sql= "UPDATE VYAROSHEVICH.TEST2 SET \"COUNT\"
= "+value;<br
>         />
> <br />
>         stmt = con.prepareStatement( sql );<br />
>         bFlag = stmt.execute();<br />
>         logger.info("Test message 2: "+value);<br />
> <br />
>     }<br />
> }                 <br />
> <br />
> It's works from  db2 development Center, but calls from trigger or clp
> fail (sqlstate=38501)! What reason for it?<br /> <br />
> Is exist another way for event logging from DB2 on Windows?

What's the exact error message that you got?

-- 
Knut Stolze
DB2 z/OS Utilities Development
Post Reply
about | contact