`

log4j2输出带有ip日志,便于集群环境查找

 
阅读更多

1.设置环境变量

  

//设置系统环境变量
System.setProperty("local-ip", "10.99.1.51");
//获取系统环境变量
System.out.println(System.getProperty("local-ip"));

try {
//设置本机地址到环境变量
	System.setProperty("local-ip", LocalIP.getIpAddress().getHostAddress());
} catch (SocketException e) {
	e.printStackTrace();
}

 2.log4j2.xml配置获取环境变量

   

<Property name="logFormat">
    [${sys:local-ip}] [%thread] %-5level %logger{35} - %msg %n
</Property>
<Property name="log-local-ip">
    ${sys:local-ip}
</Property>

 3.java获取本地ip过滤掉还回和虚拟网卡地址

   

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;

public class LocalIP {

	public static void main(String[] args) throws SocketException {
		System.out.println(getIpAddress().getHostAddress());

	}

	public static InetAddress getIpAddress() throws SocketException {
		Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
		while (interfaces.hasMoreElements()) {
			NetworkInterface current = interfaces.nextElement();
			if (!current.isUp() || current.isLoopback() || current.isVirtual())
				continue;
			Enumeration<InetAddress> addresses = current.getInetAddresses();
			while (addresses.hasMoreElements()) {
				InetAddress addr = addresses.nextElement();
				if (addr.isLoopbackAddress())
					continue;
				if (addr.isSiteLocalAddress()) {//去掉还回和虚拟地址
					return addr;
				}
//				System.out.println(addr.isSiteLocalAddress());
//				System.out.println(addr);
			}
		}

		throw new SocketException("Can't get our ip address, interfaces are: " + interfaces);
	}

}

 

 

 

11

分享到:
评论

相关推荐

    log4j自定义日志文件名及日志输出格式

    Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的配置选项,允许开发者灵活地控制日志输出。当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先...

    使用log4j2实现日志数据脱敏

    使用Log4j2的Layout组件定义日志输出格式。例如,我们可以使用PatternLayout,并自定义模式来指定哪些字段需要脱敏。例如,`%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n` 是一个基本的日志...

    log4j2.xml记录日志到到数据库

    1. **配置文件**:如`log4j2.xml`,这是Log4j2的配置中心,定义了日志记录的策略、级别、输出目标等。 2. **日志记录器(Logger)**:负责收集和处理日志事件。 3. **日志级别(Level)**:如`TRACE`, `DEBUG`, `...

    log4j(二):动态配置日志输出路径

    Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的功能和灵活的配置,使得我们可以根据需要动态地改变日志的输出路径。本文将深入探讨如何在Log4j中实现日志输出路径的动态配置。 首先,我们要理解Log4j...

    log4j配置 输出日志 案例

    本文将深入讲解如何配置log4j以实现日志输出到控制台和文件,并提供相关代码实例和案例分析。** ### 一、Log4j简介 Log4j是Apache组织开发的一个开源项目,用于生成日志信息。它提供了灵活的配置方式,支持多种输出...

    log4j生成带时间戳的日志文件(包括extras包以及简单demo)

    本文将深入探讨如何使用Log4j生成带有时间戳的日志文件,同时还会涉及到extras包的使用以及一个简单的示例。 1. **Log4j基本概念** - **日志级别**:Log4j支持多种日志级别,包括DEBUG、INFO、WARN、ERROR和FATAL...

    Log4j2实现不同线程不同级别日志输出到不同的文件中

    在“Log4j2实现不同线程不同级别日志输出到不同的文件中”这个主题中,我们将深入探讨如何利用Log4j2实现这一高级日志管理需求。 1. **日志级别**: - 在Log4j2中,日志级别包括DEBUG、INFO、WARN、ERROR、FATAL...

    log4j按功能保存日志

    在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入不同的文件,以便于后期分析、排查问题和监控系统状态。 1. **Log4j基本概念** - **Logger**: 日志记录器,是Log4...

    老生常谈Log4j和Log4j2的区别(推荐)

    然后使用Logger.getLogger()方法获取日志记录器,而Log4j2需要import org.apache.logging.log4j.Level、org.apache.logging.log4j.LogManager和org.apache.logging.log4j.Logger,使用LogManager.getLogger()方法...

    Log4j将System.out搞到log4j中输出四

    在《Log4j将System.out搞到log4j中输出四》这篇博文中,作者可能详细讨论了这些步骤,并可能分享了一些实战经验。通过学习这篇博文,读者可以更深入地了解如何在实际项目中实现这一转换,提升日志管理的效率。 总结...

    log4j日志配置以及配置文件详解

    这是log4j框架的配置文件,使用Java Properties格式,用于定义日志输出的行为。主要包括以下几个核心部分: 1. **Logger**: 定义日志级别,例如DEBUG、INFO、WARN、ERROR和FATAL。日志级别决定了哪些信息会被记录。...

    Tomcat使用Log4j输出catalina.out日志

    4. 定义日志输出格式:通过配置log4j.appender.CATALINA.layout为org.apache.log4j.PatternLayout,可以定义日志的格式。例如,可以设置为%d{yyyy-MM-ddHH:mm:ss.SSS}%p[%t]%c|%m%n来让日志格式和Log4j保持一致。 5...

    SSM整合中的Log4j日志的配置详情

    Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...

    集群环境下log4j配置

    首先,集群环境中的日志配置问题在于所有服务器都默认读取同一份 `log4j.properties` 配置文件,导致日志输出到相同的文件中。为了解决这个问题,我们需要为每个服务器创建独立的配置文件。这样,每个服务器将按照其...

    Log4j2异步写日志效率测试源码

    1. 配置文件(如log4j2.xml或log4j2.json):定义了Log4j2的日志配置,包括日志级别、输出目的地、是否启用异步模式等。 2. 测试类(如Log4j2AsyncTest.java):包含了测试用例,用于对比Log4j2异步和同步日志的性能...

    Log4j日志根据模块不同输出到不同的日志文件开发配置,便于监控项目各功能模块的运行情况

    文件中内容包括模块中某个类单独输出到一个日志文件中、模块中某个package单独输出到一个日志文件中、同一模块不同package输出到一个日志文件中三种情况下log4j.properties配置项配置事例、Java类中代码如何一致编写...

    tomcat9 slf4j+log4j2 写日志.zip

    本教程主要关注如何在Tomcat 9环境中使用SLF4J(Simple Logging Facade for Java)和Log4j2进行日志记录,并解决可能出现的日志不写入问题。 首先,SLF4J是一个日志门面,它为各种日志框架提供了抽象层,如Logback...

    kettle使用log4j管理输出日志

    参照了几个网上大神配置,部分教程的描述有误,最终调试完成,可以实现kettle日志输出,测试版本...需要替换的文件为,Kettle的程序目录下data-integration-6.0\plugins\kettle5-log4j-plugin中有一个log4j.xml文件。

    Log4j2简介及与Log4j效率对比

    Log4j2是Apache软件基金会推出的日志框架,它是Log4j 1.x的重构版本,旨在提供更为高效且灵活的日志解决方案。与Log4j 1.x相比,Log4j2在设计上进行了重大改进,并解决了Logback等其他日志框架中存在的某些体系结构...

Global site tag (gtag.js) - Google Analytics