首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置Unitils日志

配置Unitils日志
EN

Stack Overflow用户
提问于 2017-02-27 16:24:18
回答 1查看 297关注 0票数 0

我想配置Unitils的日志级别,因为我不想在运行测试时显示信息跟踪。这些测试使用Unitils通过Spring运行:

代码语言:javascript
复制
@RunWith(UnitilsJUnit4TestClassRunner.class)
@SpringApplicationContext("testConfig.xml")
@Transactional(value = TransactionMode.ROLLBACK)
public class ContractorServiceIT

我使用logback配置日志:

代码语言:javascript
复制
<property name="pathfile" value="${catalina.base}/logs" />

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>${pathfile}/health-safety-web-test.log</File>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <FileNamePattern>${pathfile}/archived/health-safety-web-test.%d{yyyy-MM-dd}.log</FileNamePattern>
    </rollingPolicy>
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{100} - %msg%n</pattern>
    </encoder>
</appender>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{100} - %msg%n</pattern>
    </encoder>
</appender>

<logger name="org.springframework" level="WARN"/>
<logger name="org.hibernate" level="WARN" />
<logger name="org.hibernate.cache" level="ERROR" />
<logger name="org.hibernate.SQL" level="WARN"/>
<logger name="net.sf.ehcache" level="WARN"/>
<logger name="com.vaadin.spring" level="WARN"/>
<logger name="org.vaadin.spring" level="WARN"/> 
<logger name="org.atmosphere" level="WARN"/>
<logger name="org.dbunit" level="ERROR"/>
<logger name="org.unitils" level="ERROR"/>
<logger name="es.cic" level="INFO"/>

<root level="WARN">
    <appender-ref ref="FILE" />
    <appender-ref ref="STDOUT" />
</root>

当我运行测试时,在health-safety web-test.log文件中没有显示信息日志,但是eclipse和控制台(mvn install)显示了这些日志。

这是一个我不想显示的日志示例:

代码语言:javascript
复制
feb 27, 2017 9:07:38 AM org.unitils.core.ConfigurationLoader loadCustomConfiguration
ADVERTENCIA: No custom configuration file unitils.properties found.
feb 27, 2017 9:07:38 AM es.cic.viesgo.core.commons.testing.PropertiesDataSourceFactory createDataSource
INFORMACIÓN: You are running with Spring Security Core 4.0.4.RELEASE
feb 27, 2017 9:07:39 AM org.springframework.security.config.SecurityNamespaceHandler <init>
INFORMACIÓN: Spring Security 'config' module version is 4.0.4.RELEASE
feb 27, 2017 9:07:39 AM org.springframework.security.config.method.GlobalMethodSecurityBeanDefinitionParser parse

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-28 18:14:12

问题是Unitils使用commons-logging来打印日志,而我在我的项目中使用SLF4J。我解决了改变SLF4J依赖的问题

代码语言:javascript
复制
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
</dependency>

代码语言:javascript
复制
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
</dependency>

现在可以在logback.xml文件中配置Unitils日志(以及任何其他使用commons-logging的库)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42480853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档