没有为slf4j创建文件和记录器

时间:2018-05-15 11:24:36

标签: java spring spring-mvc logback slf4j

在我的应用程序中,我使用slf4j作为记录器。我已经使用logback.xml进行配置。当我正在运行主类时,我得到正确的响应,这意味着我的测试目的,我写了一个主类。但是在构建和部署之后的相同配置我没有得到任何响应。还没有创建记录器文件,也没有捕获日志。 这里我提到了我的配置xml文件。

  

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!-- Send debug messages to System.out -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- By default, encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Send debug messages to a file at "c:/jcg.log" -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>d:/Logs/truprovider.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <FileNamePattern>d:/Logs/truprovider.%i.log.zip</FileNamePattern>
            <MinIndex>1</MinIndex>
            <MaxIndex>10</MaxIndex>
        </rollingPolicy>

        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <logger name="com.cts.emblem.batch" level="INFO" additivity="false">
            <appender-ref ref="STDOUT" />
            <appender-ref ref="FILE" />
    </logger>

    <!-- By default, the level of the root level is set to DEBUG -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

2 个答案:

答案 0 :(得分:0)

根据您提供的信息很难说明发生了什么,我怀疑(只是一个疯狂的猜测)根本没有配置日志记录基础结构,因为这个文件在某种程度上没有传播到工件(WAR ,我认为)

当你运行应用程序时,你可以在任何日志。***消息(如log.info)上放置一个断点,并检查它是否在列表中有任何已分配的appender,作为一个假设,appender列表将是只是空着。

答案 1 :(得分:0)

我正在为我的wildfly服务器获取默认记录器。修改服务器配置后问题将解决。将 jboss-deployment-structure.xml 文件放在 META-INF 下。

  

的JBoss部署-structure.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
  <deployment>
    <exclusions>
      <module name="org.apache.commons.logging" />
      <module name="org.apache.log4j" />
      <module name="org.jboss.logging" />
      <module name="org.jboss.logging.jul-to-slf4j-stub" />
      <module name="org.jboss.logmanager" />
      <module name="org.jboss.logmanager.log4j" />
      <module name="org.slf4j" />
      <module name="org.slf4j.impl" />
    </exclusions>
  </deployment>
</jboss-deployment-structure>