Эта статья в основном представляет подробное объяснение журналов в сочетании с Log4J и SLF4J в рамках SSM и делится ими с вами. Детали следующие:
Сначала добавьте пакеты log4j и slf4j jar
<!-Обработка журнала <!-SLF4J Пакет журналов-> <Dependency> <groupid> org.slf4j </GroupId> <ArtifactId> slf4j-api </artifactid> <sersive> 1.7.21 </version> </dependency> <Depective> <groupId> org.slf4j </GroupD> <artifactId> slf4j-lif. <sersion> 1.7.21 </version> </dependency> <!-Представление пакета журнала-> <Dependency> <groupId> log4j </GroupId>-> <artifactid> log4j </artifactid> <sersion> 1.2.16 </version> </vehyse>
Встроенный журнал Mybatis Factory предоставляет функции журнала. Конкретная реализация журнала имеет следующие инструменты:
1. Какой инструмент реализации журнала выбора определяется встроенной фабрикой журнала Mybatis. Он будет использовать первый найденный (найдите в указанном выше заказа). Если ни один из них не найден, функция журнала будет отключена.
Многие серверы приложений уже содержат журнал Commons, такие как Tomcat и WebShpere, поэтому Mybatis будет реализовать его как конкретный журнал. Очень важно помнить об этом. Это будет означать, что в такой среде, как WebSphere - WebSphere, предоставляет частную реализацию журнала Commons, и ваша конфигурация log4j будет игнорирована. Этот подход неизбежно грустно. Как Mybatis может игнорировать вашу конфигурацию? На самом деле, поскольку журналирование Commons уже существует, log4j естественно игнорируется в порядке приоритета! Однако, если ваше приложение развернуто в среде, содержащей журнал Commons, и вы хотите использовать другие платформы журнала, вы можете выбрать другую реализацию журнала, добавив настройку (config) в файл конфигурации Mybatis mybatis-config.xml.
<? xml version = "1.0" Encoding = "UTF-8"?> <! Конфигурация doctype public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <fipulation> <!-log4 <Настройка name = "logimpl" value = "slf4j"/> </settings> <!-Этот файл может быть пустым файлом, но должен быть этот файл-> <!-Местоположение плагинов в файле конфигурации должно соответствовать требованиям, в противном случае ошибка будет сообщена в следующем порядке: свойства? DatabaseidProvider?, Mappers? -> <blicins> <!-com.github.pageHelper-это имя пакета, где находится класс PageHelper-> <plugin receptor = "com.github.pageHelper.pageHelper"> <!-Этот параметр может быть установлен без настройки в версиях. 4.0.0------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ When set to true, the first parameter offset of RowBounds will be used Как номер страницы Pagenum-> <!-Эффект такой же, как у Pagenum в Startpage-> <name = "offsetaspagenum" value = "true" /> <!-Этот параметр по умолчанию по умолчанию по умолчанию-> <! " PageSize = 0 или rowbounds.limit = 0, все результаты будут запрошены-> <!-(эквивалент того факта, что страница не выполняется, но результат все еще тип страницы)-> <Название свойства = "pageizezero" value = "true" /> <!-Версия 3.3.0 доступна-PAGATER Rational, FALSESENALIGEN, FALVESENAINATIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIASIORSISTISTAING IMAVATION INMAVISTIABINAITIONS! Запрос на первую страницу, если Pagenum> Страницы будут запрашивать последнюю страницу-> <!-Когда рационализация отключена, если Pagenum <1 или Pagenum> страницы возвращают пустые данные-> <!-<name = "uspure" value = "false" /> <!-Версия 3.5.0 доступна для поддержки параметров parampas (paraters). Сопоставление, чтобы получить значения с карты или ServletRequest-> <!-Вы можете настроить Pagenum, PageSize, Counte, PageSizezero, разумный, заказывающий, и использовать значение по умолчанию для отображений-> <!-Если вы не понимаете этого значения, не копируйте конфигурацию CASELY-> <! />-> <!-Поддержка прохождения параметров подчинения через параметры интерфейса Mapper-> <name = name = "supportmethodsarguments" value = "false"/> <!-Всегда возвращайте тип pageInfo, проверьте, является ли тип возврата pageInfo, none возвращает страницу-> <свойство = "returnPageInfo" value = "/> </> </glicin> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин> <//плагин.
Необязательные значения LogIMPL: SLF4J, LOG4J, LOG4J2, JDK_LOGGING, COMMONS_LOGGING, STDOUT_LOGGING, NO_LOGGING или полностью квалифицированное название класса класса, которое реализует интерфейс org.apache.ibatis.logging.log, и конструктор этого класса необходимо для того, чтобы это было строковым типом). (Вы можете обратиться к реализации org.apache.ibatis.logging.slf4j.slf4jimpl.java)
Вы называете метод по мере необходимости:
org.apache.ibatis.logging.logfactory.useslf4jlogging (); org.apache.ibatis.logging.logfactory.uselog4jlogging (); org.apache.ibatis.logging.logfactory.usejdklogging (); org.apache.ibatis.logging.logfactory.usejdklogging (); org.apache.ibatis.logging.logfactory.usecommonsLogging (); org.apache.ibatis.logging.logfactory.usestdoutlogging ();
Если вам нужно вызвать один из вышеперечисленных методов, позвоните в него перед всеми остальными методами Mybatis. Кроме того, важно только вызвать соответствующий метод в предпосылке, что он существует в соответствующей реализации журнала, в противном случае Mybatis будет проигнорирована. Если Log4j не существует в вашей среде, но вы называете соответствующий метод, Mybatis будет игнорировать этот вызов и вместо этого искать реализацию журнала в порядке поиска по умолчанию.
2. Настройте web.xml
<!-Загрузить log4j-> <context-param> <param-name> log4jconfiglocation </param-name> <value> classpath: log4j.properties </param-value> </context-param> <llauser> <listener-class> org.sprimeworkwork.web.util.log4jconfiger </slirligher> <//slired-class> ordustramer
3. Просто создайте файл с именем log4j.properties в приложении ClassPath, конкретное содержание файла заключается в следующем:
log4j.rootlogger = info, console, dailyfile# todo Пожалуйста, добавьте его при публикации в Alibaba Cloud. Кроме того, консоль не выводит (только предупреждение о выводе или информация об ошибках)#Информация, консоль, DailyFileLog4j.logger.org.mybatis = Debuglog4j.logger.com.itzixi.mapper = debuglog4j.appender.console = org.apache.log4j.consoleappenderlog4j.appender.console.encoding = Utf-8log4j.appender.console.layout = org.apache.log4j.patternlayoutlog4j.appender.console.layout.conversionpattern =%-d {yyyy-mm-dd HH: MM: SS, SS} [%t] [%l] - [%p]%m%n#mybatis отображает SQL операторов конфигурации журнала#log4j.logger.org.mybatis = отладка#log4j.logger.com.itzixi.mapper = отладка#Регулярно прокручивать файлы log и goge каждый день каждый день. log4j.appender.dailyfile = org.apache.log4j.dailyrollingfileappenderlog4j.appender.dailyfile.encoding = utf-8log4j.appender.dailyfile.threshold = info# todo local addres #log4j.appender.dailyfile.file = c: /logs/itzixi-web/log.log4jlog4j.appender.dailyfile.file=/itzixi-disk1/logs/itzixi-web/log.log4jlog4j.appender.dailyfile .Datepattern = '.' Yyyy-mm-ddlog4j.appender.dailyfile.layout = org.apache.log4j.patternlayoutlog4j.appender HH: MM: SS, SS} [%t] [%l] - [%p]%m%n ## показать SQL -отчет Часть#log4j.logger.com.ibatis = debug#log4j.logger.com.ibatis.common.jdbc.simpledatasource = Debug#log4j.logger.com.ibatis.common.jdbc.scriptrunner = debug#log4j.logger.com .ibatis.sqlmap.engine.impl.sqlmapclientdelegate = Debug#log4j.logger.java.sql.connection = Debug#log4j.logger.java.sql.statement = debug#log4j.logger.java.sql.preedStatement = debug#log4j.logger.java.sql.preedStatement = debug#log4j.logger.java.sql.preedStatement = debug#log4j.logger.java.Как показано на рисунке, когда мы вводим отладку, оператор SQL печатается.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.