تقدم هذه المقالة بشكل أساسي شرحًا مفصلاً للسجلات مع Log4J و SLF4J ضمن إطار SSM ، ويشاركها معك. التفاصيل كما يلي:
أضف أولاً حزم جرة log4j و slf4j
<!-معالجة السجل <!-حزمة سجل SLF4J-> <Rependency> <roupiD> org.slf4j </roughid> <ArtifactId> slf4j-api </stifactid> <soph> <StifactId> slf4j-log4j12 </shifactid> <الإصدار> 1.7.21 </version> </repreadency> <!-تقديم حزمة السجل-> <redency> <roucid> log4j </groupId>-> <StifactId> log4j </attifactid>
يوفر مصنع سجل MyBatis المدمج وظائف التسجيل. يحتوي تطبيق السجل المحدد على الأدوات التالية:
1. يتم تحديد أداة تنفيذ السجل التي لاختيارها بواسطة مصنع سجل MyBatis المدمج. سوف تستخدم الأول الذي تم العثور عليه (ابحث بالترتيب المذكور أعلاه). إذا لم يتم العثور على أي منها ، فسيتم تعطيل وظيفة التسجيل.
تحتوي العديد من خوادم التطبيقات بالفعل على تسجيلات العموم ، مثل Tomcat و WebShpere ، لذلك سوف يقوم MyBatis بتنفيذها كسجل محدد. من المهم جدًا أن تتذكر هذا. هذا يعني أنه في بيئة مثل WebSphere - يوفر WebSphere تطبيقًا خاصًا لتسجيل العموم ، وسيتم تجاهل تكوين Log4J الخاص بك. هذا النهج محزن حتما. كيف يمكن أن يتجاهل MyBatis التكوين الخاص بك؟ في الواقع ، نظرًا لوجود تسجيلات العموم بالفعل ، يتم تجاهل Log4J بشكل طبيعي بترتيب الأولوية! ومع ذلك ، إذا تم نشر التطبيق الخاص بك في بيئة تحتوي على تسجيلات العموم وتريد استخدام أطراف التسجيل الأخرى ، فيمكنك تحديد تطبيق سجل مختلف عن طريق إضافة إعداد (config) إلى ملف تكوين MyBatis mybatis-config.xml.
<؟ <Setting Name = "logimpl" value = "slf4j"/> </settings> <!-يمكن أن يكون هذا الملف ملفًا فارغًا ، ولكن يجب أن يكون هذا الملف-> <!-موقع الإضافات في ملف التكوين يجب أن يفي بالمتطلبات ، وإلا فإن الخطأ؟ DatabaseIdProvider؟ ، MAPPERS؟ -> <plugins> <!-com.github.pageHelper هو اسم الحزمة حيث توجد فئة Heelper-> <plugin interceptor = "com.github.pageHelper.pageHelper"> <!-هذه المعلمة يمكن تعيينها بدون إعداد في الإصدارات 4.0.0 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- كرقم صفحة Pagenum-> <!-التأثير هو نفسه pagenum في startPage-> <property name = "OffsetAspagenum" value = "true" /> <! pagesize = 0 أو rowbounds.limit = 0 ، سيتم الاستعلام عن جميع النتائج-> <!-(أي ما يعادل حقيقة عدم تنفيذ استعلام الصفحة ، ولكن النتيجة لا تزال نوع الصفحة)-> <property name = "pagesizezero" value = "true" /> <! الاستعلام عن الصفحة الأولى ، إذا كانت صفحات Pagenum> ستستفسر عن الصفحة الأخيرة-> <!-عندما يتم تعطيل الترشيد ، إذا كانت صفحات pagenum <1 أو pagenum> ستُرجع صفحات البيانات الفارغة-> <!-<property name = "value" conval = "false" />-> <! احصل على القيم من الخريطة أو servletRequest-> <!-يمكنك تكوين Pagenum و Pagesize و Count و Pagesizezero ، معقول ، وطلب ، واستخدم القيمة الافتراضية للمناسبات-> <!-إذا لم تفهم هذا المعنى ، لا تنسخ التكوين-> <! />-> <!-دعم تمرير معلمات الترحيل من خلال معلمات واجهة Mapper-> <property name = "supportMethodSarguments" value = "false"/> <!-دائمًا نوع pageinfo ، التحقق
القيم الاختيارية لـ logiMpl هي: SLF4J ، Log4J ، Log4J2 ، JDK_LOGGAGE ، commons_logging ، stdout_logging ، no_logging أو اسم الفئة المؤهلة بالكامل من فئة الفئة التي تنفذ سلسلة الواجهة. (يمكنك الرجوع إلى تنفيذ 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
<!-load log4j-> <context-param> <Param-name> log4jConfigLocation </param-name> <param-value> classpath: log4j.properties </param-value> </sutext-param> <StaNeer> <stanker-class> org.springframework.web.util.lucs>
3. فقط قم بإنشاء ملف يسمى log4j.properties في Application ClassPath ، المحتوى المحدد للملف هو كما يلي:
log4j.rotlogger = info ، وحدة التحكم ، DailyFile# todo ، يرجى إضافته عند النشر إلى Alibaba Cloud. بالإضافة إلى ذلك ، لا يتم إخراج وحدة التحكم (تحذير الإخراج أو معلومات الخطأ فقط) = debuglog4j.logger.com.itzixi.mapper = debuglog4j.appender.console = org.apache.log4j.consoleppenderlog4j.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 = debug#log4j.logger.com.itzixi.mapper = debug# log4j.appender.dailyfile = org.apache.log4j.dailyrollingfilePenderLog4j.appender.dailyfile.encoding = Utf-8log4j.appender.dailyfile.throshol #log4j.appender.dailyfile.file = c: /logs/itzixi-web/log.log4jlog4j.appender.dailyfile.file=/itzixi-disk1/logs/itzixi-web/log.log4jlog4j.appender.dailyfile .datepattern = ' 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.prepared = debugكما هو موضح في الشكل ، عندما ندخل التصحيح ، تتم طباعة بيان SQL.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.