Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java slf4j未使用log.DEBUG(…)登录DEBUG.log_Java_Spring_Slf4j - Fatal编程技术网

Java slf4j未使用log.DEBUG(…)登录DEBUG.log

Java slf4j未使用log.DEBUG(…)登录DEBUG.log,java,spring,slf4j,Java,Spring,Slf4j,我有问题与slf4j,在信息和警告级别的工作日志。但调试级别的日志记录并不是这样。我在debugger下进行了检查,log.isDebugEnabled()为true,因此log.debug(“输入:\n”+输入)正在执行,但debug.log为空。我在IntelliJ IDE选项“Enable debug output”(它添加了VM选项-Ddebug)中启用了该选项,但它仍然不起作用 (..) import org.slf4j.Logger; import org.slf4j.LoggerF

我有问题与slf4j,在信息和警告级别的工作日志。但调试级别的日志记录并不是这样。我在debugger下进行了检查,log.isDebugEnabled()为true,因此log.debug(“输入:\n”+输入)正在执行,但debug.log为空。我在IntelliJ IDE选项“Enable debug output”(它添加了VM选项-Ddebug)中启用了该选项,但它仍然不起作用

(..)
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
(..)
public class LoginController {

    private static final Logger log = LoggerFactory.getLogger(LoginController.class);

    public AuthUser login(InputStream inputStream, HttpServletRequest    request) throws Exception {

      final String input = misc.InputStreamToString(inputStream);
      if (log.isDebugEnabled()) {
        log.debug("INPUT:\n" + input);
     }

     (..)
   }
更新1:

文件资源/logback.xml

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

<property name="HOME" value="${user.dir}/logs"/>

<appender name="FILE-INSERT-DEBUG"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>DEBUG</level>
        <onMismatch>DENY</onMismatch>
    </filter>

    <file>${HOME}/DEBUG.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${HOME}/archived/debug.%d{yyyy-MM-dd}.%i.log.zip
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>

<appender name="FILE-INSERT-INFO"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>INFO</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
    <file>${HOME}/INFO.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${HOME}/archived/INFO.%d{yyyy-MM-dd}.%i.log.zip
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>

<appender name="FILE-INSERT-WARN"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>WARN</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
    <file>${HOME}/WARN.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${HOME}/archived/WARN.%d{yyyy-MM-dd}.%i.log.zip
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>

<appender name="FILE-INSERT-ERROR"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>ERROR</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
    <file>${HOME}/ERROR.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${HOME}/archived/ERROR.%d{yyyy-MM-dd}.%i.log.zip
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>
<root level="DEBUG">
    <!--<appender-ref ref="FILE-INSERT-DEBUG" />-->
    <appender-ref ref="FILE-INSERT-INFO"/>
    <appender-ref ref="FILE-INSERT-WARN"/>
    <appender-ref ref="FILE-INSERT-ERROR"/>
</root>
</configuration>
<!--<appender-ref ref="FILE-INSERT-DEBUG" />-->

调试
否认
${HOME}/DEBUG.log
%d{yyyy-MM-dd HH:MM:ss}-%msg%n
${HOME}/archive/debug.%d{yyyy-MM-dd}.%i.log.zip
10MB
信息
接受
否认
${HOME}/INFO.log
%d{yyyy-MM-dd HH:MM:ss}-%msg%n
${HOME}/archived/INFO.%d{yyyy-MM-dd}.%i.log.zip
10MB
警告
接受
否认
${HOME}/WARN.log
%d{yyyy-MM-dd HH:MM:ss}-%msg%n
${HOME}/archive/WARN.%d{yyyy-MM-dd}.%i.log.zip
10MB
错误
接受
否认
${HOME}/ERROR.log
%d{yyyy-MM-dd HH:MM:ss}-%msg%n
${HOME}/archive/ERROR.%d{yyyy-MM-dd}.%i.log.zip
10MB

您可以在配置文件中配置日志级别,如下所示 参考资料/slf4j.xml



“使用logback-test.xml或logback.xml进行自动配置”

问题出现在参考资料/logback.xml中的逗号行中

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

<property name="HOME" value="${user.dir}/logs"/>

<appender name="FILE-INSERT-DEBUG"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>DEBUG</level>
        <onMismatch>DENY</onMismatch>
    </filter>

    <file>${HOME}/DEBUG.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${HOME}/archived/debug.%d{yyyy-MM-dd}.%i.log.zip
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>

<appender name="FILE-INSERT-INFO"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>INFO</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
    <file>${HOME}/INFO.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${HOME}/archived/INFO.%d{yyyy-MM-dd}.%i.log.zip
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>

<appender name="FILE-INSERT-WARN"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>WARN</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
    <file>${HOME}/WARN.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${HOME}/archived/WARN.%d{yyyy-MM-dd}.%i.log.zip
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>

<appender name="FILE-INSERT-ERROR"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>ERROR</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
    <file>${HOME}/ERROR.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${HOME}/archived/ERROR.%d{yyyy-MM-dd}.%i.log.zip
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>
<root level="DEBUG">
    <!--<appender-ref ref="FILE-INSERT-DEBUG" />-->
    <appender-ref ref="FILE-INSERT-INFO"/>
    <appender-ref ref="FILE-INSERT-WARN"/>
    <appender-ref ref="FILE-INSERT-ERROR"/>
</root>
</configuration>
<!--<appender-ref ref="FILE-INSERT-DEBUG" />-->

在评论出它的工作原理后:

</appender>
<root level="DEBUG">
    <appender-ref ref="FILE-INSERT-DEBUG"/>
    <appender-ref ref="FILE-INSERT-INFO"/>
    <appender-ref ref="FILE-INSERT-WARN"/>
    <appender-ref ref="FILE-INSERT-ERROR"/>
</root>
</configuration>


您的日志记录配置是什么?@Arnaud我添加了。您的
文件插入调试“
附录引用在XML中被注释掉了。@Arnaud谢谢,我注释掉了,它可以工作了!我有参考资料/logback.xml,它似乎在那里启用了:。。。。我将文件logback.xml包含到问题中。