微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Logback 在控制台中写入但不在文件中

如何解决Logback 在控制台中写入但不在文件中

我正在尝试使用 logback 将我的日志保存到一个文件中,但到目前为止我一直没有成功。我使用的代码在我们的沙箱(我认为是 Unix 系统)上部署时似乎工作正常,而在我的 Windows 系统上,使用我的本地配置,似乎没有创建任何文件

这是我的 logback-config-local.xml(我知道这是正在读取的文件,因为我使用某些记录器的级别来确保是那个)

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

    <property name="LOGS_BASE_DIR" value="C://Users/Perso/Documents/Projets/MyProject/logs"/>
    <timestamp key="CURRENT_DATE_TIME" datePattern="dd-MM-yyyy_HH-mm-ss"/>

    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
            </Pattern>
        </layout>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${user.home}/logs/my-app.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>C://logger/my-app-%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>


    <appender name="TraceFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%m%n</Pattern>
        </encoder>

        <file>${user.home}/trace/traces.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOGS_BASE_DIR}/trace/traces-%d{dd-MM-yyyy}-%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

    <!-- LOG everything at INFO level -->
    <root level="info">
        <appender-ref ref="Console"/>
    </root>


    <logger name="TraceLogger" level="error">
        <appender-ref ref="TraceFileAppender"/>
    </logger>

    <logger name="FileLogger" level="error">
        <appender-ref ref="FILE"/>
    </logger>



    <logger name="org.springframework" level="warn"/>

    <logger name="org.springframework.security.web" level="warn"/>



</configuration>

我感兴趣的记录器是 TraceLogger,FileLogger 是作为测试创建的,但没有给出任何结果。我可以在控制台中看到来自 TraceLogger 的痕迹。

我读过类似的主题,其中似乎缺少配置标记,但它存在于我的代码中。事实上,我们沙箱环境的配置让我想知道问题是否可能来自 Windows 上的路径。我还确保写入文件夹具有正确的写入权限,并以管理员权限启动我的 IDE,以防万一这可能是问题。

到目前为止,这是我的理论:

  1. 路径问题
  2. 是否存在写入文件的权限问题?
  3. 标记中缺少某些内容
  4. 我在某处遗漏了一些配置

欢迎任何帮助,谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。