RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 11. Использование платформы журналирования с SLF4J

Помимо журнала по умолчанию com.mysql.cj.log.StandardLogger, который регистрирует в stderr, Connector/J поддерживает модуль регистрации SLF4J, позволяя конечным пользователям, используя Connector/J, включить платформы журналирования по их собственному выбору во время развертывания. Популярные платформы журналирования, например, java.util.logging, logback и log4j поддерживаются SLF4J. Следуйте этим требованиям, чтобы использовать платформу журналирования с SLF4J и Connector/J:

  • В среде разработки:

    • Установите на своей системе slf4j-api-x.y.z.jar (доступен на https://www.slf4j.org/download.html) добавьте его к Java classpath.

    • В коде приложения получите SLF4JLogger как Log в MysqlConnection Session, затем используйте экземпляр Log для регистрации.

  • На системе развертывания:

    • Установите на своей системе slf4j-api-x.y.z.jar и добавьте его к Java classpath.

    • Установите на своей системе поддержку SLF4J для платформы журналирования по Вашему выбору и добавьте ее к своему Java classpath. SLF4J доступен на https://www.slf4j.org/manual.html#swapping.

      Не помещайте больше одной поддержки SLF4J в Java classpath. Переключайтесь от одной платформы журналирования на другую, удаляя поддержку и добавляя новую к пути к классу.

    • Установите платформу журналирования по Вашему выбору на вашей системе и добавьте ее к Java classpath.

    • Формируйте платформу журналирования по Вашему выбору. Это часто состоит из подготовки дополнений или обработчиков для сообщений регистрации, используя конфигурационный файл, см. документацию своей платформы журналирования для деталей.

    • Соединяя приложение с MySQL Server, установите свойство связи Connector/J logger в Slf4JLogger.

Название категории регистрации, используемое Connector/J с SLF4J, MySQL. См. SLF4J user manual об использовании SLF4J, включая обсуждения зависимости Maven. Вот пример кода для использования SLF4J с Connector/J:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.cj.jdbc.JdbcConnection;
import com.mysql.cj.log.Log;

public class JDBCDemo {
  public static void main(String[] args) {
    Connection conn = null;
    Statement statement = null;
    ResultSet resultSet = null;
    Log logger = null;
    try {
      // Database parameters
      String url = "jdbc:mysql://myexample.com:3306/pets?logger=Slf4JLogger&explainSlowQueries=true";
      String user = "user";
      String password = "password";
      // create a connection to the database
      conn = DriverManager.getConnection(url, user, password);
      logger = ((JdbcConnection)conn).getSession().getLog();
    } catch (SQLException e) {
      System.err.println(e.getMessage());
      System.exit(1);
    }
    try {
      statement = conn.createStatement();
      resultSet = statement.executeQuery("SELECT * FROM pets.dogs");
      while(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 (модуль API SLF4J), slf4j-log4j12-1.7.28.jar (модуль поддержки SLF4J для Log4J 1.2) и log4j-1.2.17.jar (библиотека Log4J) в Java classpath.

Вот вывод программы, когда оператор SELECT потерпел неудачу:

[2019-09-05 12:06:19,624] WARN 0[main] - WARN MySQL - Warning: Select failed!

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru