`

log4j集群日志收集

    博客分类:
  • java
 
阅读更多

1. 服务端

   配置文件log4j-server.properties, 其中的[%X{ip}]是自定义的客户端ip,稍后在客户端那给出输入的方法

#socket的日志
log4j.logger.org.apache.log4j=ERROR,file

#下面这个开头必须和客户端一致
log4j.logger.com.test=DEBUG,testA
log4j.logger.com.product=DEBUG,productA


#Define how the socket server should store the log events
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=logs/socket.log
log4j.appender.file.encoding=UTF-8
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%X{ip}][%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} [%C : %M : %L]:%m%n

log4j.appender.testA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.testA.File=logs/testA.log
log4j.appender.testA.encoding=UTF-8
log4j.appender.testA.Append=true
log4j.appender.testA.layout=org.apache.log4j.PatternLayout
log4j.appender.testA.layout.ConversionPattern=[%X{ip}][%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} [%C : %M : %L]:%m%n

log4j.appender.productA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.productA.File=logs/productA.log
log4j.appender.productA.encoding=UTF-8
log4j.appender.productA.Append=true
log4j.appender.productA.layout=org.apache.log4j.PatternLayout
log4j.appender.productA.layout.ConversionPattern=[%X{ip}][%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} [%C : %M : %L]:%m%n

 

   启动- 端口9898

java -classpath log4j-1.2.16.jar org.apache.log4j.net.SimpleSocketServer 9898 log4j-server.properties

   

   后台启动

nohup java -classpath log4j-1.2.16.jar org.apache.log4j.net.SimpleSocketServer 9898 log4j-server.properties 2>&1 &

 

 

 

2.客户端

   配置log4j.properties 

#可以多个append,本地加远程
log4j.logger.com.test=DEBUG,localTestA,socket
log4j.logger.com.prodcut=DEBUG,localProductA,socket

log4j.appender.socket=org.apache.log4j.net.SocketAppender
log4j.appender.socket.Port=9898
log4j.appender.socket.RemoteHost=192.168.0.1
log4j.appender.socket.ReconnectionDelay=10000

 

  代码,在应用启动的地方,写入本机ip参数

try {
	MDC.put("ip", InetAddress.getLocalHost().getHostAddress().toString());
} catch (UnknownHostException e) {
	log.error("获取本机ip失败");
}

 

3. 完成,愉快的查看日志吧

 

 

 

分享到:
评论

相关推荐

    Kafka+Log4j实现日志集中管理

    总的来说,通过Kafka和Log4j的结合,我们可以构建一个高效、可扩展的日志管理系统,不仅能够实时收集应用程序的日志,还可以进行日志分析、监控和报警,对于故障排查和性能优化具有极大的帮助。同时,这样的设计也...

    kafka_Java_Log4j

    Kafka的特点包括高吞吐量、持久化存储、分区和复制,这使得它在日志收集、实时数据处理和流数据应用中非常受欢迎。 其次,我们来看`Log4j`。Log4j是Apache的一个开源项目,它为Java应用程序提供了一个强大的日志...

    Flume + kafka + log4j构建日志采集系统

    本文将详细探讨如何使用Flume、Kafka和log4j构建一个高效的日志采集系统,帮助你理解这三个组件在日志处理中的角色以及如何协同工作。 首先,让我们了解一下这三个工具的基本概念: 1. **Flume**: Apache Flume 是...

    kafka跟storm收集日志解决方案

    ### Kafka与Storm在日志收集解决方案中的应用 #### 一、Kafka简介及安装 Apache Kafka是一种分布式的、基于发布/订阅模式的消息系统,它能够处理大量的实时数据流。Kafka因其高性能、高吞吐量以及低延迟等特点,在...

    scribe+hadoop+log4j+hive+mysql

    #### 四、Log4j——日志记录工具 - **定义与用途**:Log4j 是一个开源的日志记录工具,主要用于 Java 应用程序。它允许开发者控制日志信息的级别(如 ERROR、WARNING、INFO 等),以及日志信息的输出方式(如控制台...

    基于Storm的日志收集系统

    捕获阶段,系统通过在各个应用服务器上部署日志代理,如Log4j、Logback等,收集应用产生的日志。传输阶段,使用如Fluentd或Logstash等工具将日志数据发送到Storm集群。解析阶段,Storm的 bolts 对日志数据进行结构化...

    Kubernetes日志采集与分析的最佳实践

    其中,使用Log4j、LogBack等埋点工具以及SDK/Producer可以实现更细粒度的控制。 Kubernetes日志采集面临诸多挑战,包括多环境动态性、使用负担、服务动态迁移、缺乏中心化配置管理、多种日志格式、集群动态伸缩以及...

    hadoop启动日志

    对于大型Hadoop集群,日志分析工具如Flume、Sentry、Logstash和Elasticsearch等可以帮助自动化日志收集、处理和搜索,提供更高效的日志管理方案。此外,Hadoop社区还开发了一些专门用于Hadoop日志分析的工具,如...

    基于socket分布式日志系统的设计与实现

    1. **日志采集**:在每个产生日志的节点上,我们需要一个轻量级的日志代理(如Log4j、Logback等),它负责收集本地的日志事件,并通过Socket发送到中央日志服务器。 2. **Socket通信**:日志代理和日志服务器之间的...

    zookeeperstatus.rar

    总结,了解和掌握Zookeeper的启动状态判断以及Log4j日志分析技巧,对于管理和维护Zookeeper集群至关重要。这不仅可以帮助我们快速识别和解决问题,也能提高系统的稳定性和可靠性。通过深入理解和实践,我们可以更好...

    如何自定义HDInsight Storm 日志文件大小-longfei1

    默认情况下,Storm 集群使用 Log4j 这一流行的日志记录框架来收集和存储 topology 的日志信息,这些日志会被定期存档到 Azure Blob Storage 中。然而,为了适应不同的需求,用户可能希望自定义日志文件的大小和保留...

    logstash-config.rar

    Log4j是Java中广泛使用的日志库,Logstash可以通过使用grok过滤器解析Log4j的日志格式,提取出有意义的信息,然后将其发送到指定的输出。 4. **logstash-els.conf**:这个名字可能指的是Elasticsearch(ELS)。...

    工程结构1

    `Client-extension`使用Meta作为Log4j的日志收集器,这样可以通过透明的方式使用Log4j API,方便地将日志发送到Meta系统。 4. **服务端工程**(Server):服务端是提供计算和存储资源的一方,处理客户端请求并返回...

    kafka 单机集群搭建和监控

    4. **日志监控**:通过Log4j或Logback配置,将Kafka的日志输出到集中式日志系统,如Logstash、Fluentd,配合Elasticsearch、Grafana等进行分析和展示。 **4. 实战应用** 在实际应用中,Kafka常与其他技术结合,如...

    基于springboot+kafka的日志处理系统.zip

    4. **日志收集**:系统可能使用如Logback或Log4j等日志框架,它们提供API用于记录应用程序的日志。日志信息会被配置为发送到Kafka的特定主题。 5. **Kafka Producer**:在Spring Boot应用中,Kafka生产者负责将日志...

    计算机课程毕设:基于Spark的行为日志分析系统设计与实现.zip

    这通常通过Log4j等日志框架实现,将日志数据发送到中央日志服务器。 2. 数据预处理:收集到的日志数据往往包含噪声和不一致性,因此需要进行清洗和转换。Spark的DataFrame和Dataset API非常适合进行数据预处理,如...

    面试真题目录大全,详细版

    2. Log4j 的日志级别 3. Log4j 的 Appender 配置 机器学习 1. 机器学习算法(选择一种简述其原理) 2. 新浪网站和头条的新闻推荐算法分析 其他 1. JVM 的参数调整(Xss、Xmx) 2. JVM 的垃圾收集器(CMS、G1等)...

    logstash 配置文件1

    2. `log4j`:这是一个日志解析插件,用于接收 Log4j 格式的日志数据。它被配置为服务器模式,监听在所有网络接口(0.0.0.0)的端口 4560 上。`type` 参数用于标识输入数据的类型,这里设置为 "log4j"。 输出部分...

Global site tag (gtag.js) - Google Analytics