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

如何将所有日志输出写入文件spring boot

凌照
2023-03-14
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <logger name="com.mine" level="WARN" additivity="false">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>

    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE">
            <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
                <resetJUL>true</resetJUL>
            </contextListener>
        </appender-ref>
    </root>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
    <root level="INFO">
        <appender-ref ref="FILE" />
    </root>
</configuration>
logging:
  file: C:\dev\assessment-tool\logs\application.log
  config: classpath:logback-spring.xml

共有1个答案

冯奇思
2023-03-14

问题在于您在logback-spring.xml文件中为记录器分配的级别。

根据logback architecture文档(您可以在这里查看),“给定记录器L的有效级别等于其层次结构中的第一个非空级别,从L本身开始,在层次结构中向上一直到根记录器”。

您在根记录器上分配级别“info”,在记录器“com.mine”上分配级别“warn”。当出现异常时,它们都不会被“调用”,例如:logger.error(异常e)。

 类似资料:
  • 问题内容: 我使用以下命令在后台运行python脚本: 但nohup似乎没有向日志文件写入任何内容。命令日志是 已创建但始终为空。在python脚本中,我使用 而不是打印到标准输出。我在做什么 有什么不对劲吗? 问题答案: 看起来你需要定期刷新stdout(例如。 ). 在我的测试中,Python甚至不会自动做到这一点 直到程序退出。

  • 我使用以下命令在后台运行python脚本: 但nohup似乎没有向日志文件写入任何内容。cmd.log已创建,但始终为空。在python脚本中,我使用而不是来打印到标准输出。我做错什么了吗?

  • 问题内容: 我正在尝试使用Go写入日志文件。 我尝试了几种方法,但都失败了。这是我尝试过的: 日志文件被创建,但是没有任何打印或附加到该文件。为什么? 问题答案: 过去的工作方式一定不同,但这对我有用: 基于Go文档,不能用于,因为它会打开文件“供阅读:” 打开命名文件以供读取。如果成功,则可以使用返回文件上的方法进行读取;关联的文件描述符具有mode 。如果有错误,它将是类型。 编辑 检查后移至

  • 我决定使用slf4j而不是Java自己的日志记录。我已经成功地使用SLF4J登录到控制台。但我不知道如何将其写入日志文件。日志文件将帮助我们收集运行时可能出现的错误。 我通过这样做来实现slf4j, 私有静态最终org.slf4j.LOGGER LOGGER=org.slf4j.loggerfactory.getlogger(class1.class); PropertyConfigurator.

  • 问题内容: 我有一个Java程序,它从文件中逐行读取一些文本,并将新文本写入输出文件。但是,程序完成后,并非我写入的所有文本都出现在输出文件中。这是为什么? 详细信息:该程序获取CSV文本文档,并将其转换为SQL命令,以将数据插入表中。文本文件有10000多行,类似于以下内容: 该程序似乎工作正常,只是它只是在创建一个新的SQL语句(将其打印到SQL文件中)的途中随机停在文件中。看起来像: 这发生

  • 输出。 我想写的输出文件与inputfile完全相似,但顺序不是问题。我怎样才能做到,请帮帮我。