Skip to content

Feature/db logging

Pavel Mashliakovskiy requested to merge feature/dbLogging into ver/5.18.x
  • log format for SQL statement execution is changed:
    • all supported DBMS now produce the same logging results
    • DBMS level exception now without connection details (only exception message); invalid statement is logged into next line with ERROR log level n form q=statement what cause an exception
    • sql statements are logged in the same form they passed to DBMS driver:
      • Oracle: parameters are in :AA, :BB format
      • Postgres: parameters are in $1, $2 format
      • SQLite2 & SQl Server: parameters are in ?, ? format
    • App.prepareAndRun enter/leave is removed - time to first row now logged directly into SQL log statement (reduce log size)
    • select statement log format: r=1 t=255 fr=254 c=81 q=SELECT column1, .....
    • update/insert/delete statement log format: r=1 t=1332 c=78 q=update tableName...
    • SQL log format explanation:
      • r: affected row(s) count (count of updated rows for update, deleted for delete, selected for select etc)
      • t: time to execute (include fetch time for select statements)
      • fr: time to execute WITHOUT fetching rows (time to first row)
      • c: in case > -1 - prepared statement cache index (Oracle, Postgres)

Merge request reports