2012-06-06 2 views
16

SQLite에서 쿼리 로그를 활성화하는 기본 제공 함수가 있습니까?SQLite 3에서 쿼리 로깅 사용

저는 Trace API에 익숙하지만 미리 정의 된 기능이 있는지 알고 싶습니다.

+0

가능한 [SQLite에 대한 SQL 쿼리 로깅?] (https://stackoverflow.com/questions/1607368/sql-query-logging-for-sqlite) – user4157124

답변

8

흥미로운 질문입니다. 나는 ...

하나는 자신을 흥미 여기 와서 이걸 묻지도 않고 왜 궁금 :

은 분명히 어떤 랩퍼 라이브러리이 내장 같은 것을 가지고있다. 하지만 래퍼 라이브러리를 찾으려면 먼저 대상 언어를 식별해야합니다. 펄 DBI? 파이썬? C++?

2 : 당신이 주로 실험 및/또는 디버깅하는 경우

내가 하지 (어떤 식 으로든) 다음 검사 시도 할 수는는 "생산 수준의"솔루션에 대해 다음 권장하지만 것 각 트랜잭션이 끝나기 바로 전에 롤백 저널. See here about the rollback journal: http://www.sqlite.org/tempfiles.html '각 트랜잭션의 끝'을 감지하는 방법은 디버거의 코드 및/또는 중단 점에 달려 있습니다.

내가 다시 강조해야합니다 : 방금 ​​언급 한 내용은 총 해킹 일 것이며, 언급 한 것조차도 더럽다 고 느낍니다.

:

당신은 sqlite mailing list (매우 활동적이고 은혜로운)에 요청할 수 있지만, 그들은 아마 sqlite3_trace을 재 강조한다.

... 다른 임의의 점 : 다소에

(거의?) 당신이 './sqlite3'명령 프롬프트 세션을 시작할 때 관련 참고, 당신은 입력 할 수 있습니다

.explain 

은 프롬프트에서 실행 된 각 쿼리에 대해 흥미롭고 교훈적인 자세한 출력을 가능하게합니다.

더는 정보 난 그냥 찾았

One of the flags that can be passed to 'sqlite3_config()' is SQLITE_CONFIG_LOG.이 콜백을 설정하고 주기적으로 SQLite는 라이브러리의 상태 정보를 수신하기 (추적 API에 추가) 또 다른 방법입니다. 나는 그것이 주로 오류 로그 메시지에 대한 것이라고 생각합니다.

+7

아마도이 질문의 대답은 "아니오 "OP의 질문을 보면 약간 오해 할 수도 있습니다. – Daan