在油滑3.1.0(我想在3.0),你可以做出非常酷的SQL调试:
[DEBUG] - slick.jdbc.JdbcBackend.statement - Preparing statement: select "id", "email", "name", "password" from "users" where ("email" = '[email protected]') and ("password" = ext.crypt('123456',"password"))
[DEBUG] - slick.jdbc.JdbcBackend.benchmark - Execution of prepared statement took 56ms
[DEBUG] - slick.jdbc.StatementInvoker.result - /----------------------+---------------+-------+----------------------\
[DEBUG] - slick.jdbc.StatementInvoker.result - | 1 | 2 | 3 | 4 |
[DEBUG] - slick.jdbc.StatementInvoker.result - | id | email | name | password |
[DEBUG] - slick.jdbc.StatementInvoker.result - |----------------------+---------------+-------+----------------------|
[DEBUG] - slick.jdbc.StatementInvoker.result - | 4fe6e5c3-af74-40f... | [email protected] | petya | $2a$10$WyOrBy7p48... |
[DEBUG] - slick.jdbc.StatementInvoker.result - \----------------------+---------------+-------+----------------------/
我只使用的logback配置日志,所以它很容易打开:
<logger name="slick" level="INFO" />
<logger name="slick.jdbc" level="DEBUG" />
如果你在* nix“tail -f /path/to/query.log”应该做的伎俩,不? – virtualeyes 2013-02-12 20:34:18
谢谢,我在工作表中使用H2,但会与它一起玩。 – Jack 2013-02-13 01:44:03
@virtualeyes,这似乎是最好的(也是唯一的)解决方案。对于工作表和H2,您需要更改数据库网址中的跟踪级别,例如implicit val session = Database.forURL(“jdbc:h2:mem:test1; TRACE_LEVEL_FILE = 4”,driver =“org.h2.Driver”)。createSession()。请给出您的建议(请提及工作表)作为答案。 – Jack 2013-02-13 01:51:05