لماذا يتم تسجيل معلومات الربيع إلى خطأ قياسي؟
-
26-09-2019 - |
سؤال
لدي العديد من اختبارات تكامل DB التي تستخدم التعليقات التوضيحية التالية لتراجع المعاملات:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:ApplicationContext-DAOs.xml"})
@Transactional
تمر الاختبارات ، ولكن عندما أقوم بتشغيلها ، فإن الربيع يعتبر أنه من الضروري تسجيل مستوى المعلومات إلى خطأ قياسي! يسجل أشياء مثل:
19/11/2010 16:49:11 org.springframework.test.context.TestContextManager
retrieveTestExecutionListeners
INFO: @TestExecutionListeners is not present for class [class my.SomeDAOTest]:
using defaults.
etc for many, many lines ...
أين أطفئ هذا؟
المحلول
يمكنك إخفاءه باستخدام log4j. في log4j.xml الخاص بك ، قم بتعيين مسجل لفصل الربيع لتحذيره (أو خطأ).
<logger name="org.springframework">
<level value="warn"/>
</logger>
نصائح أخرى
Spring Core يستخدم تسجيل Apache Commons. من أجل التكوين بعيدا عن السلوك الافتراضي (الكتابة إلى STDERR) كان علي استخدام مكون الجسر لإطاري الخاص.
أنا أستخدم Log4J2 ، لذلك بمجرد إضافة الجسر من Apache Commons إلى Log4J2 ، فإن Spring Core احترم إعداداتي.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.11.2</version>
</dependency>
لا تنتمي إلى StackOverflow