Nuclos legacy SQL logging: log4j 1.2, log4j.properties, JDBCAppender, LOGS table, PostgreSQL, Oracle, SQLTimer. |
Language: Deutsch · English
SQL logging for Nuclos up to 4.5 (log4j 1.2) – JDBCAppender to the database and old standard configuration.
On this page |
This page applies to Nuclos up to 4.5 with log4j 1.2 ( |
SELECT statements can be written directly to an (arbitrary) database. First create the target table (PostgreSQL; for Oracle use CLOB for MESSAGE):
CREATE TABLE <SCHEMA>.LOGS( DATED TIMESTAMP NOT NULL PRIMARY KEY, LOGGER VARCHAR(127) NOT NULL, LEVEL VARCHAR(15) NOT NULL, MESSAGE VARCHAR(10485760) NOT NULL, THREAD VARCHAR(4000) NOT NULL, TIME INTEGER, PARAMS VARCHAR(4000) ); |
Then configure the JDBCAppender in log4j.properties:
#SQL logging
log4j.logger.SQLLogger=DEBUG, DB
log4j.logger.SQLTimer=DEBUG, DB
#JDBCAppender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.driver=org.postgresql.Driver
log4j.appender.DB.URL=jdbc:postgresql://datenbankip:5432/postgres
log4j.appender.DB.user=nuclos
log4j.appender.DB.password=nuclos
log4j.appender.DB.sql=INSERT INTO <SCHEMA>.LOGS VALUES('%d{yyyy-MM-dd HH:mm:ss.SSS}','%c','%p','%m','%t')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout |
Set the log level high so the DB is not overloaded. By removing |
#SQL logging log4j.logger.org.nuclos.server.dblayer=DEBUG log4j.logger.org.nuclos.server.dal.processor.jdbc.impl.standard.StandardSqlDBAccess=DEBUG |
After adding this, restart the server; the output appears in server.log.