2013-01-24 57 views
0

我尝试使用“TRACE_LEVEL_FILE = 4”上的服务器/ TCP在H2中,“TRACE_LEVEL_FILE = 4”仅适用于本地/嵌入式数据库吗?

DriverManager.getConnection("jdbc:h2:tcp://localhost/" + f.toURI() +";TRACE_LEVEL_FILE=4;", "sa", ""); 

和日志级别设置为与

java.util.logging.Logger h2database = java.util.logging.Logger.getLogger("h2database"); 
h2database.setLevel(Level.WARNING); 

和所有我得到的是在scan123db.trace此消息警告。 db

01-24 15:04:14 database: org.h2.message.TraceWriterAdapter 
org.h2.message.DbException: Class "org.h2.message.TraceWriterAdapter" not found [90086-169] 
at org.h2.message.DbException.get(DbException.java:158) 
at org.h2.message.TraceSystem.setLevelFile(TraceSystem.java:199) 
at org.h2.engine.Database.open(Database.java:519) 
at org.h2.engine.Database.openDatabase(Database.java:222) 
at org.h2.engine.Database.<init>(Database.java:217) 
at org.h2.engine.Engine.openSession(Engine.java:56) 
at org.h2.engine.Engine.openSession(Engine.java:159) 
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138) 
at org.h2.engine.Engine.createSession(Engine.java:121) 
at org.h2.server.TcpServerThread.run(TcpServerThread.java:136) 
at java.lang.Thread.run(Unknown Source) 
Caused by: org.h2.jdbc.JdbcSQLException: Class "org.h2.message.TraceWriterAdapter" not found  [90086-169] 
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) 
... 11 more 
Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
at org.h2.message.TraceWriterAdapter.<init>(TraceWriterAdapter.java:28) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
at java.lang.Class.newInstance0(Unknown Source) 
at java.lang.Class.newInstance(Unknown Source) 
at org.h2.message.TraceSystem.setLevelFile(TraceSystem.java:197) 
... 9 more 

我想知道为什么?

+0

看起来服务器端缺少类org.slf4j.LoggerFactory。但“TRACE_LEVEL_FILE = 4”选项目前不影响客户端/服务器案例的客户端。 –

+1

H2服务器是通过h2.bat启动的,这些错误在我运行客户端并且由客户端报告后开始显示。 – Alex

回答

0

如文档所述,选项TRACE_LEVEL_FILE=4用于“Using Other Logging APIs”。如果你使用它,那么这个“其他日志API”也需要位于服务器端的类路径中。正如文档中所写,“要使用SLF4J,所有必需的jar文件都需要放在classpath中。”

相关问题