除了它的默认日志记录器com.mysql.cj.log.StandardLogger
日志,stderr
连接器/ J支持SLF4J日志外观,允许最终用户的应用程序使用连接器/ J插入日志框架在部署时自己的选择。流行的日志框架等之后
,logback
,log4j
受到SLF4J的支持。遵循这些要求使用日志框架SLF4J和连接器/ J:
在开发环境中:
安装在您的系统上
slf4j-api-x.y.z.jar
(可以在https://www.slf4j.org/download.html),并将它添加到Java类路径中。在应用程序的代码,获得一个
SLF4JLogger
作为一个日志
在一个实例化MysqlConnection
会话
,然后使用日志
对你的测井实例。
在部署系统:
安装在您的系统上
slf4j-api-x.y.z.jar
并将其添加到Java类路径中安装在您的系统上为您选择的日志框架SLF4J绑定并将它添加到您的Java类路径中。SLF4J绑定是可用的,例如,https://www.slf4j.org/manual.html交换。
请注意不要把多个SLF4J绑定在你的Java类路径中。开关从一个日志框架到另一个通过删除绑定和添加一个新的类路径。
在您的系统上安装您选择的日志框架,并将其添加到Java类路径中。
您选择的配置日志框架。这通常由设置输出源或处理程序日志消息使用一个配置文件;看到你的日志框架文档获取详细信息。10bet官方网站
当应用程序连接到MySQL服务器,设置连接器/ J连接属性
日志记录器
来Slf4JLogger
。
日志类别名称使用的连接器与SLF4J / JMySQL
。看到SLF4J用户手册使用SLF4J更多细节,包括讨论Maven依赖和绑定。这是一个示例代码使用SLF4J连接器/ J:
进口java.sql.DriverManager;进口java.sql.Connection;进口java.sql.ResultSet;进口java.sql.SQLException;进口java.sql.Statement;进口com.mysql.cj.jdbc.JdbcConnection;进口com.mysql.cj.log.Log;公开课JDBCDemo{公共静态空main (String [] args){连接康涅狄格州=零;声明语句=零;ResultSet ResultSet =零; Log logger = null; try { // Database parameters String url = "jdbc:mysql://myexample.com:3306/pets?logger=Slf4JLogger&explainSlowQueries=true"; String user = "用户”;字符串密码= "密码”;/ /创建一个数据库连接康涅狄格州= DriverManager。getConnection (url、用户密码);记录器= ((JdbcConnection)康涅狄格州).getSession () .getLog ();}捕捉(SQLException e) {System.err.println (e.getMessage ());system . exit (1);}{尝试声明= conn.createStatement ();resultSet =声明。executeQuery (“SELECT * FROM pets.dogs”);而(resultSet.next ()) {system . out。printf (" % d \ t % s \ t % s \ t % 4 ty. % 4美元tm。% 4 $ td \ n”, resultSet.getInt (1) resultSet.getString (2), resultSet.getString (3), resultSet.getDate (4)); } } catch(SQLException e) { logger.logWarn("Warning: Select failed!"); } } }
例如,如果您想要使用Log4j 1.2.17作为你的日志框架运行这个程序时,利用其绑定SLF4J:把slf4j-api-1.7.28.jar
(SLF4J API模块),slf4j-log4j12-1.7.28.jar
(SLF4J绑定Log4J 1.2)log4j-1.2.17.jar
(Log4J库)在Java类路径中。
这是输出的程序由于SELECT语句失败:
(2019-09-05 12:06:19,624)警告0[主要]-警告MySQL警告:选择失败!