On Nov 14, 2008, at 3:23 AM, manish_goyal wrote:


Hi,

Please tell me can we add FileAppender and JDBCAppender together in a
log4j.properties file.

I don't know any reason you could not.



I configured my log4j.properties file for both FileAppender and
JDBCAppender, FileAppender is working fine but JDBCAppender is not working.
My log4j.properties file is :-

log4j.rootCategory=JDBC
log4j.appender.JDBC=DBError
log4j.logger.com.cvs.eph.test=info,myAppender,DBError

# File appender
log4j.appender.out=org.apache.log4j.RollingFileAppender
log4j.appender.out.file=D:/Data/myLog.log
log4j.appender.out.maxFileSize=1024KB
log4j.appender.out.maxBackupIndex=5
log4j.appender.out.append=true
log4j.appender.out.layout=org.apache.log4j.PatternLayout
log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} -
%m%n

# DBError DB Options
log4j.appender.JDBC=org.apache.log4j.jdbcplus.JDBCAppender
log4j.appender.JDBC.URL=jdbc:oracle:thin:@10.87.187.163:1521:EPHOD1
log4j.appender.JDBC.user=test
log4j.appender.JDBC.password=test
log4j.appender.JDBC.driver=oracle.jdbc.driver.OracleDriver
#SQL statement to be used (with multiple columns formated)
log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout
log4j.appender.JDBC.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1}
- %m%n
log4j.appender.JDBC.sql=INSERT INTO MYTABLE(CODE1,CODE2,REQUESTID) values
(code1,code2,requestID)

log4j.appender.JDBC.bufferSize=3


org.apache.log4j.jdbcplus.JDBCAppender is using an Apache Software Foundation package name, but as far as I know is not an Apache Software Foundation product. You should contact the author of that appender for support.


and my JAVA file is :-

import org.apache.log4j.jdbcplus.JDBCAppender;

JDBCAppender DBError = new JDBCAppender();


This is creating a distinct appender instance and is not related to the one configured in the configuration file. The local variable name DBError in no way connects this instance with the instance from the configuration file. If you want to programmatically modify that appender, you need to call something like:




DBError.setLayout(myLayout);
try
         {
                        Driver d =
(Driver) (Class.forName("oracle.jdbc.driver.OracleDriver").newInstance());
                        DriverManager.registerDriver(d);
                }
         catch(Exception e){}
String url =
            "jdbc:oracle:thin:@"
+ "(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP) (HOST
= 10.87.187.163)(PORT = 1521)))" +
                "(CONNECT_DATA = (SERVICE_NAME = EPHOD1)))";
DBError.setUrl(url);
DBError.setUsername("test");
DBError.setPassword("test");
DBError.setTable("MYTABLE");

To follow the log4j programmatic configuration pattern, you should call:

DBError.activateOptions();

after setting the properties.


myLogger.addAppender(DBError);

I am getting  following error:-
log4j:ERROR JDBCAppender::flush_buffer(), :
java.sql.SQLException: ORA-01732: data manipulation operation not legal on
this view


for the myLogger.info("Hello");


Please give me pointers to solve this problem.

Thanks.

Regards,
Manish



--
View this message in context: 
http://www.nabble.com/Can-we-add-FileAppender-and-JDBCAppender-together-tp20497197p20497197.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to