log4j2 记录本机ip

一种简单的记录本机ip到log4j2中的方法:

1、项目启动的时候获取本机ip,保存到System变量中:

    /**
     * 获得本机的内网地址(String)
     */
    private String getLocalIp(){
        try {
            return InetAddress.getLocalHost().getHostAddress();
        } catch (UnknownHostException e) {
            return "unknown-ip";
        }
    }

    /**
     * 设置 "local-ip" system 变量,给log4j2 配置使用:
     */
    @PostConstruct
    public void postConstruct(){
        String localIp = getLocalIp();
        System.out.println("localIp for Log4j2: " + localIp);
        System.setProperty("local-ip", localIp );
    }

2、log4j2.yml配置文件记录本机ip的配置:

  Appenders:
    Kafka: #输出错误日志到Kafka
      name: KAFKA
      topic:  error-logs
      syncSend: false
      ThresholdFilter:
        level: error
        onMatch: ACCEPT
        onMismatch: DENY
      PatternLayout:
        pattern: "${sys:local-ip} %d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"

 

你可能感兴趣的:(log4j,java,日志记录ip,Java开发)