Nuclos altes SQL Logging: log4j 1.2, log4j.properties, JDBCAppender, LOGS Tabelle, PostgreSQL, Oracle, SQLTimer.

globe with meridians Sprache: Deutsch · English

open book Altes SQL Logging (Bis Nuclos 4.5)

SQL-Logging für Nuclos bis 4.5 (log4j 1.2) – JDBCAppender in die Datenbank und alte Standard-Konfiguration.

Auf dieser Seite

Diese Seite gilt für Nuclos bis 4.5 mit log4j 1.2 (conf/log4j.properties). Aktuelle Versionen nutzen log4j2 – siehe SQL Logging.

SQL-Logging in eine Datenbank (JDBCAppender)

SELECT-Statements lassen sich direkt in eine (beliebige) Datenbank schreiben. Zuerst die Zieltabelle anlegen (PostgreSQL; bei Oracle MESSAGE als CLOB):

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)
);

Dann den JDBCAppender in log4j.properties konfigurieren:

#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

Log-Level möglichst hoch setzen, damit die DB nicht überlastet wird. Durch Entfernen von stdout/logfile lässt sich das Logging auf die DB beschränken.

Ganz altes Standard-SQL-Logging (3.13.8 oder früher)

#SQL logging
log4j.logger.org.nuclos.server.dblayer=DEBUG
log4j.logger.org.nuclos.server.dal.processor.jdbc.impl.standard.StandardSqlDBAccess=DEBUG

Nach dem Ergänzen muss der Server neu gestartet werden; die Ausgabe erscheint im server.log.

Verwandte Seiten

gear SQL Logging


Aktuell.

Öffnen →

gear Logging


Übersicht.

Öffnen →