logback 中打印自定义参数 (ip 服务名)


打印 application.properties 配置文件中的参数

首先需要引入文件

然后在使用


spring.application.name 为 application.properties 文件中的属性

将ip打印到日志

首先编写类 IPConverterConfig

package com.wxx.converter;

import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class IPConverterConfig extends ClassicConverter {

    @Override
    public String convert(ILoggingEvent iLoggingEvent) {
        try {
            return InetAddress.getLocalHost().getHostAddress();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
        return null;
    }
}

然后在 logback.xml 引用

 logback.xml

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


    "application.properties"/>
    "context" name="serverName" source="spring.application.name"/>

    
    "ip" converterClass="com.wxx.converter.IPConverterConfig" />

    "STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        
        
            %date{yyyy-MM-dd HH:mm:ss.SSS} [%ip] [${serverName}] [%thread] %-5level %logger{36} - %msg%n
        
    

    
    "cusmanage" class="ch.qos.logback.core.rolling.RollingFileAppender">
        ../logs/crm/crm.log
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            ../logs/crm/crm.%d{yyyy-MM-dd}.%i.log
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                5MB
            
        
        class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            %-20(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level %logger{80} - %msg%n
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            INFO
            ACCEPT
            DENY
        
    

    "DEBUG">
        ref ref="STDOUT" />