首页 > 其他分享 >logback.xml中获取主机IP地址

logback.xml中获取主机IP地址

时间:2022-10-09 15:45:14浏览次数:44  
标签:xml ch qos ip static IP地址 import logback

方法一:自定义类并继承:ch.qos.logback.classic.pattern.ClassicConverter

1.自定义类LogIpConfig


import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

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

/**
 * @author huang
 * @version 1.0
 * @description:
 * @date 2022-10-08 16:12
 */
public class LogIpConfig extends ClassicConverter {

    private static final Logger logger = LoggerFactory.getLogger(LogIpConfig .class);

    private static String webIP;
    static {
        try {
            webIP = InetAddress.getLocalHost().getHostAddress();
        } catch (UnknownHostException e) {
            logger.error("获取日志Ip异常", e);
            webIP = null;
        }
    }

    @Override
    public String convert(ILoggingEvent event) {
        return webIP;
    }
}

2.在logback.xml文件中添加如下配置

<conversionRule conversionWord="ipAddress" converterClass="com.***.config.LogIpConfig" />

3.获取主机地址IP值:%ipAddress 值

"ipAddress":%ipAddress

方法二:自定义类并继承:ch.qos.logback.core.PropertyDefinerBase类

1.自定义类LogIpConfig


import ch.qos.logback.core.PropertyDefinerBase;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

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

/**
 * @author huang
 * @version 1.0
 * @description:
 * @date 2022-10-09 15:16
 */
public class LogIpPropertyConfig extends PropertyDefinerBase {

    private static final Logger logger = LoggerFactory.getLogger(LogIpPropertyConfig .class);

    private static String ip;

    static {
        try {
            ip = InetAddress.getLocalHost().getHostAddress();
        } catch (UnknownHostException e) {
            logger.error("获取日志IP地址异常",e);
            ip = null;
        }
    }
    @Override
    public String getPropertyValue() {
        return ip;
    }
}

2.在logback.xml文件中添加如下配置

<define name="ip" class="com.***.config.LogIpPropertyConfig"></define>

3.获取主机地址IP值:${ip}值

将IP地址拼接到日志名称上:
<fileNamePattern>${log_path}/${ip}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

 

标签:xml,ch,qos,ip,static,IP地址,import,logback
From: https://www.cnblogs.com/huangdh/p/16772379.html

相关文章

  • springCloud Eureka 注册中心,注册的服务自定义名字,和显示ip地址
     在微服务中,在注册中心中,有这样的需求,就是我们要给我们的服务名字,起个其他的名字,不带主机名的那种。 还有就是,我们需要看下注册中心的服务的 ip地址 和 端口号,方便来查......
  • ASP.NET Core实现内容协商 (json+xml)(如何根据请求的媒体类型调整数据的输出)
    内容协商概念内容协商ContentNegotiation:允许客户端和服务器通过协商来决定相互之间数据的传输格式、语言等。HTTP头部http头部的媒体类型MediaTypes定义accept和......
  • 尚硅谷-JavaWeb Day4 XML
    1.XML可拓展的标记性语言2.XML的作用:用来保存数据,而且这些数据具有自我描述性;可以作为项目或者模块的配置文件;可以作为网络传输数据的格式(现在使用json);3.XML......
  • hyperv 虚拟机分配不到IP地址,无法访问外网解决方法
     在powershell中执行1 New-VMSwitch-SwitchName"NAT-VM"-SwitchTypeInternal   #创建虚拟交换机NAT-VM2 Get-NetAdapter  #获取接口索引3 New-NetIPAddress......
  • lxml.etree 入门
    作者:StefanBehnel这个教学覆盖lxml处理的主要几个方面,其中的一些功能也许能使你的码农生涯好过一点。完整的API请看​​http://lxml.de/api/index.html​​。通常......
  • Java读取XML文本文件
    圆周率没有尽头,风景一直在路上publicclassReadXmlFileTest{/***演示java读取xml文件*/publicstaticvoidmain(String[]args){......
  • Logback打印日志
    概括Logback是由log4j创始人设计的另一个开源日志组件,官方网站:http://logback.qos.ch。它分为三个模块:logback-core:其它两个模块的基础模块logback-classic:它是log4j......
  • Mybatis-config.xml
    configurations:根标签,表示配置信息、environments:可以配置多个环境environment:(包括事务管理器的配置+数据源的配置)transactionManager(配置事务管理器)type属......
  • 官方完整HL7 ECG-XML例子及注释翻译(3)
    编者:李国帅时间:2019-7-4背景:存储心电图数据的格式有很多种,比如HL7,Dicom,EDF,GDF等,其中HL7最是简单,直观,使用Xml的方式保存数据。以前为了显示HL7数据从官网下载了一个很全的ae......
  • 文件上传和下载bean配置xml
    <!--配置文件上传使用解析器--><beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!--指定字......