logback pattren 点击日志不能跳转到指定类 行

博客主要围绕Logback的Pattren展开,指出尽量避免使用(%file:%line\),除非执行速度不受影响,因其可在控制台输出方便调试。还提到%caller{1}虽能达到类似效果,但日志显示较乱不建议用,并表示可参考logback文件配置。
部署运行你感兴趣的模型镜像

问题在pattren这里,看下pattren

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type
             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level (%file:%line\) - %msg%n</pattern>
        </encoder>
    </appender>

(%file:%line\)尽量避免使用,除非执行速度不造成任何问题。 可以在控制台输出方便调试

%caller{1}同样可以达到效果,但日志显示的比较乱不建议用 ,logback文件可以参看以下配置

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type
             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level (%file:%line\) - %msg%n</pattern>
        </encoder>
    </appender>

  <appender name="FILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/app.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} %logger{0} - %msg%n
            </Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>logs/lsp_app.log.%d{yyyyMMddHH}.%i.log
            </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>

    </appender>

    <logger name="com.skplanet.impay" level="info"></logger>
    <logger name="org.springframework.context" level="info"></logger>
    <logger name="com.bjsdzk.api" level="info"></logger>
    <root level="info">
        <appender-ref ref="FILE" />
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

 

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

### Java Logback 配置指定日志输出到单独文件并排除主日志记录 为了实现将特定日志输出到独立的日志文件,同时不在主日志中记录这些日志消息,可以通过配置 `logback.xml` 文件来完成此需求。以下是详细的解决方案: #### 1. **创建自定义 Appender** 在 `logback.xml` 中定义一个新的 appender,用于处理指定日志输出。 ```xml <appender name="SPECIFIC_CLASS_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/specificClassLog.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天生成一个新日志文件 --> <fileNamePattern>logs/specificClassLog.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> </appender> ``` 该部分配置了一个名为 `SPECIFIC_CLASS_FILE` 的滚动文件型 appender,它会将日志写入到 `specificClassLog.log` 文件中,并按日期分割日志文件[^2]。 --- #### 2. **定义 Logger 并绑定 Appender** 为指定创建一个 logger,并将其与上面定义的 appender 关联起来。 ```xml <logger name="com.example.MySpecificClass" level="DEBUG" additivity="false"> <appender-ref ref="SPECIFIC_CLASS_FILE"/> </logger> ``` 在此处: - 将 `name` 属性设置为目标的全限定名(例如 `com.example.MySpecificClass`)。 - 设置 `additivity="false"` 表示禁用日志事件向父级传播,从而防止其被记录到主日志中[^3]。 --- #### 3. **保留默认 Main Logger 配置** 确保主日志仍然正常工作,可以继续使用现有的 main logger 配置。例如: ```xml <root level="INFO"> <appender-ref ref="MAIN_LOG_FILE"/> </root> ``` 这里的 `MAIN_LOG_FILE` 应当是一个已经存在的 appender,负责记录应用程序的主要日志信息。 --- #### 4. **完整的 logback.xml 示例** 以下是一个综合性的 `logback.xml` 配置示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 主日志文件 Appender --> <appender name="MAIN_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/mainApplicationLog.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/mainApplicationLog.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> </appender> <!-- 特定日志文件 Appender --> <appender name="SPECIFIC_CLASS_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/specificClassLog.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/specificClassLog.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> </appender> <!-- 配置特定日志器 --> <logger name="com.example.MySpecificClass" level="DEBUG" additivity="false"> <appender-ref ref="SPECIFIC_CLASS_FILE"/> </logger> <!-- 默认根日志器 --> <root level="INFO"> <appender-ref ref="MAIN_LOG_FILE"/> </root> </configuration> ``` --- #### 注意事项 - 如果运环境未正确生成日志文件,请确认日志路径是否可访问以及是否有权限写入目标位置[^3]。 - 使用 `additivity="false"` 可有效阻止子 logger 的日志传递给父 logger,避免重复记录[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值