当前位置: 首页 > 知识库问答 >
问题:

日志无法写入控制台

欧旻
2023-03-14

我正在我的Spring Boot应用程序中使用Logback。

    null
<?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:/logs/Log.log" -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>C:/logs/Log.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>C:/logs/Log.%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="package.web" level="INFO" >
            <appender-ref ref="FILE" />
    </logger>
    <logger name="package.dao" level="DEBUG" >
            <appender-ref ref="FILE" />
    </logger>

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

共有1个答案

壤驷高洁
2023-03-14
<logger name="package.web" level="INFO" >
        <appender-ref ref="FILE" />
</logger>

您需要添加控制台附加器。

<logger name="package.web" level="INFO" >
        <appender-ref ref="FILE" />
        <appender-ref ref="STDOUT" />
</logger>

更新:我刚刚重读了日志配置doku。实际上,这两个应该从root继承两个附加符。所以,您可以尝试的是不在那些上面指定任何appender-ref,然后看看会发生什么。如果没有输出被写入到文件中,那么两者都没有--那么就会有一些很奇怪的东西。如果可加性标志被设置为false,我会期待这种行为。但默认为追加累加。

 类似资料:
  • 问题内容: 我已经设定 我已经禁用了log4j.properties中的所有消息 但是Hibernate将所有查询和语句写入控制台。 问题答案: 设置为告诉hibernate将 所有SQL语句写入控制台。 这是将日志类别设置为调试的替代方法。 因此,即使将此属性设置为,也请确保没有定义以下类别(或配置为使用控制台附加程序): 另外,请确保在实例化对象时不要将程序设置为true 。寻找这样的事情:

  • 问题内容: 此代码是否同时写入日志文件和控制台? 问题答案: 不,它不会同时写入两者。只会写入控制台。关于原始代码的简短说明。我想您在某处定义,但是代码仍然不正确。您需要在语句中使用引号,例如: 因为我认为您是要附加到文件中。否则,您的代码将抛出一个因为未定义的变量。 但是,正如其他人所说,您应该强烈考虑使用日志记录模块。这是一个如何同时写入控制台和日志文件的简单示例。该代码部分源自此处和此处:

  • 我正在Servlet 3.0和Tomcat中做一个简单的演示项目 我接受邮递员的JSON请求并提供JSON响应。 现在我也想在我的项目中做日志记录。 所以我使用log4j2 罐子使用:- log4j-1.2.12.jar, jackson-databind-2.6.3.jar, jackson-core-2.6.3.jar Servlet代码:- 我的项目目录:- 我的log4j。xml 当我在e

  • 在中有一个,可以将日志写入到。 我需要在中使用相同的功能,但我还没有找到这样做的选项。有人知道如何使用实现同样的效果吗?

  • 问题内容: 好的,这是我设置所有内容的代码: 发生的是 error.log被创建 没有写任何东西 尽管未添加StreamHandler并将debug设置为false,但我仍然将所有内容都添加到STDOUT中(这可能是正确的,但仍然看起来很奇怪) 我是完全离开这里还是发生了什么事? 问题答案: 为什么不这样做呢? 如果现在启动应用程序,你将看到error.log包含: 有关更多信息,请访问http:

  • > 我试图将JSON文件导入变量,但变量中只显示前几个字符 样本。json是200000个字符,当我在控制台上打印变量时,只打印前3756个字符。通过控制台打印的字符是否有任何限制。日志 完整数据保存在样本变量