Я работаю над SQL Logger для своего веб-приложения. Я хочу, чтобы иметь возможность регистрировать SQL-запрос, который запускается пользовательским взаимодействием с графическим интерфейсом. Я работаю в среде Spring, работая с maven и mybatis. Я упаковываю свой webapp в войну и развертываю ее на tomcat.Журнал SQL, который передается с базой данных
Я хочу иметь возможность напрямую использовать SQL для доступа к базе данных. Я могу попробовать использовать SocketAppender/HTMLAppender, как в Log4j, и размещать запросы, чтобы другие люди, не являющиеся SQL, могли использовать его напрямую без его редактирования или удаления мусора из запросов, чтобы просмотреть заполненные данные.
Я столкнулся с несколькими инструментами Logger, которые могут записывать SQL.
- jdbcdslog-ехр
- P6Spy
- JdbcProxy
- log4jdbc
- SqlRecorder
То, что я специально искал:
- Чистых запросов SQL без почти (например, время, в которое был запущен запрос jdbcdslog-exp recorded data)
- Если я получаю немного нежелательных данных, я хочу, чтобы их можно было удалить, чтобы генерировать чистые запросы. Я пытаюсь понять, как это работает jdbcdslog, но с трудом пытается заставить его работать.
- Я хочу знать, может ли какой-либо из вышеперечисленных инструментов предоставить нам некоторые метаданные о запросах (например, какой пакет принадлежал запросу), так что я могу выделить данные журнала в соответствии с пакетами.
Спасибо за ваш ответ. Есть ли способ, с помощью которого я могу получить класс, из которого был запущен запрос. Существует параметр% C, который можно использовать с шаблоном шаблона Log4j, который может дать нам класс, из которого был запущен запрос, но он не дает мне необходимый класс при использовании с jdbcdslog. – ProgrammingPanda
в [code.google.com/p/jdbcdslog/wiki/UserGuide](http://code.google.com/p/jdbcdslog/wiki/UserGuide), вы можете найти в разделе _Создание параметров_параметр ** jdbcdslog.printStackTrace * *.В stackTrace вы можете найти класс и метод вызова. –
M, я хочу иметь возможность получить доступ к этой информации. Как и в случае метаданных запроса. проблема здесь http://stackoverflow.com/questions/17954848/get-the-name-of-the-package-from-which-a-sql-query-was-fired – ProgrammingPanda