`
邢邢色色
  • 浏览: 226069 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ZooKeeper学习之配置【6】日志配置

阅读更多

ZooKeeper使用SLF4J(the Simple Logging Facade for Java)作为日志的抽象层,默认使用Log4J来做实际的日志工作。使用2层日志抽象看起来真是够呛,这里简要的说明如何来配置Log4J。尽管Log4J非常灵活且强大,但它也有一些复杂,可以用一整本书来描述它,这里只是简要的介绍一下基本的用法。

 

Log4J的配置文件名为log4j.properties,从classpath中查找。如果没有找到log4j.properties文件,会输出如下警告信息:

 

log4j:WARN No appenders could be found for logger (org.apache.zookeeper.serv ...
log4j:WARN Please initialize the log4j system properly.

 

它说的是所有后续的日志消息会被丢弃,通常log4j.properties文件会放在conf文件夹,并放在classpath下。

 

来看看ZooKeeper使用的log4j.properties的主要部分:

 

    zookeeper.root.logger=INFO, CONSOLE  (1)
    zookeeper.console.threshold=INFO
    zookeeper.log.dir=.
    zookeeper.log.file=zookeeper.log
    zookeeper.log.threshold=DEBUG
    zookeeper.tracelog.dir=.
    zookeeper.tracelog.file=zookeeper_trace.log
    log4j.rootLogger=${zookeeper.root.logger} (2)
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender (3)
    log4j.appender.CONSOLE.Threshold=${zookeeper.console.threshold} (4)
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout (5)
    log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] -
    ...
    log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender (6)
    log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold} (7)
    log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file}
    log4j.appender.ROLLINGFILE.MaxFileSize=10MB
    log4j.appender.ROLLINGFILE.MaxBackupIndex=10
    log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout				
    log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] -
    ...	

 

(1) 第一组设置以zookeeper开头,它们实际上是Java system property,可以被-D形式的命令行参数覆盖。第一行配置了日志级别,默认的设置是说在INFO级别以下的日志会被丢弃,并且日志会使用CONSOLE appender输出。你可以指定多个appender,例如如果你想使用CONSOLE appender和ROLLINGFILE appender输出日志,那么可以配置zookeeper.logger为INFO,CONSOLE,ROLLINGFILE。

 

(2) rootLogger处理所有日志的logger,因为我们没有定义其他logger。

 

(3) 这一行把CONSOLE appender和实际上处理日志输出的类绑定在一起,这里是ConsoleAppender类。

 

(4) appender也可以过滤日志。这一行将过滤任何在INFO级别之下的日志,因为这是在zookeeper.root.logger设置的threshold。

 

(5) appender使用一个布局(layout)类在输出前对日志进行格式化。我们使用pattern layout来记录日志的级别,日期,线程信息和调用位置信息以及消息本身。

 

(6) RollingFileAppender实现了rolling日志文件的功能,而不是持续的写到一个单独的文件或者控制台。如果rootLogger没有关联ROLLINGFILE,则此appender会被忽略。

 

(7) ROLLINGFILE的threshold设置成DEBUG。因为rootLogger过滤了所有在INFO级别之下的日志,没有DEBUG日志会输出到ROLLINGFILE。如果你想要看到DEBUG日志,你必须把zookeeper.root.logger从INFO改成DEBUG。

 

打日志会影响到进程的性能,尤其是在DEBUG级别下。同时日志会提供有价值的信息为诊断错误提供线索。一个平衡性能开销的有效方式是把appender的threshold设成DEBUG,并把rootLogger设成WARN级别,这在一般的情况都适用,一般只需要关注WARNING和它之上的日志。当你需要诊断问题时可以使用JMX动态设置为INFO或DEBUG级别,这样可以更方便定位问题。

分享到:
评论

相关推荐

    zookeeper日志查看工具

    #使用说明:“look_Log”目录里面日志需要的jar也都放好了,你如果jdk安装好了并配置了window环境变量的,直接运行“look_Log/looklog.bat”然后入日志路径(包含文件名称:例如“version-2/log.1”)

    zookeeper-3.3.6.tar.gz

    dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。 clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受...

    bitnami版本的zookeeper和kafka的docker-compose配置

    通过指定镜像、端口映射、环境变量和依赖关系等配置,实现了Zookeeper和Kafka的快速部署和集成。同时,在定义了一个名为"mynetwork"的网络来连接这些服务,确保它们可以相互通信。整体而言,这个Docker Compose 文件...

    ansible-role-zookeeper:Ansible角色,用于管理Apache ZooKeeper的安装和配置

    角色:ZooKeeper Ansible角色,用于管理安装和配置。 角色变量 下面列出了可用的变量以及默认值(请参见defaults/main.yml ): zookeeper_version: 3.6.2 ZooKeeper应用程序版本。 zookeeper_dir: /opt/...

    centos7 zookeeper一键安装部署

    该文件为centos7环境下,zookeeper3.4.12一键部署配置脚本。下载该文件,拖到服务器上,$ sh zookeeper.sh 执行该脚本就能自动化下载、安装、远程访问、开机自启动等。 仓库路径:/usr/local/zookeeper/zookeeper-...

    Zookeeper修改运行日志zookeeper.out输出路径

    Zookeeper中运行日志 zookeeper.out 文件的输出路径默认为启动脚本的当前路径,导致Zookeeper集群启动失败时总是不记得输出日志在哪儿,不便于查找错误原因,因此很有必要设置固定路径来保存运行日志 在本次实验之前...

    zookeeper-3.4.9.tar.gz+安装过程笔记.doc

    zookeeper默认使用zoo.cfg配置文件 b.启动 在zookeeper 目录下输入指令: bin/zkServer.sh start 这个命令使得zk服务进程在后台进行。如果想在前台中运行以便查看服务器进程的输出日志,可以通过以下命令运行: bin/...

    一个springbootmysql数据库/多数据源mongidb数据库/apollo配置中心/zookeeper注册中心/dub

    实现日志级别的动态变更 引入Dubbo功能 使用Zookeeper作为注册中心 Dubbo官方文档Dubbo Dubbo SPI扩展 引入RocketMQ功能 方法级别的消息消费功能 RocketMQTemplate模板多种方法发送消息 RocketMQTransactionTemplate...

    zookeeper服务器管理手册-部署运维必备知识

    本文档内容为zookeeper服务器管理手册,包含zookeeper安装,集群配置、部署方案设计、监控、日志管理、配置参数讲解以及日常的维护等等知识,十分实用

    zookeeper-3.4.6.zip

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要...这是一个zookeeper工具包,解压后配置conf文件下面的zoo.cfg文件的日志输出路径就可以使用。

    zookeeper-3.4.14.zip

    最新可用的zookeeper,解压即可,免安装,conf下的zoo.cfg已经将基础必须的内容配置好(包括快照文件和日志文件位置),直接运行zkServer和zkClient可测试。Windows使用cmd后缀的,Linux使用sh后缀的。如果以管理员...

    redhat/centos/linux系统上zookeeper和kafka进程监控脚本

    如下所示,手动指定zookeeper和kafka的bin目录、配置文件以及需要添加定时任务的周期几个参数后,执行当前脚本,脚本会自动添加定时任务并开始监控zookeeper及kafka进程,如果进程不存在则重启并放入后台,存在则...

    zookeeper淘宝实现的监控

    用于zookeeper写日志的目录要有足够大小,并且强烈建议在单独的磁盘(挂载点)上,这是影响ZK性能最大因素之一。 连接数。 注册的Watcher数。 ZNode是否可读,可写。 ZK事件通知的延时是否过大。 围绕以上几点展开,...

    ZKConfig:ZooKeeper 配置管理器的演示

    ZKConfig - 一个动物园管理员配置管理器介绍ZKConfig 是一个简单的演示,用于管理分布式系统的配置。 所有属性都按业务分类并存储在/config/$business_name$ 中。 用户可以通过$business_name$Data.getXXX()获取它们...

    Kafka服务端(含Zookeeper)一键自启软件

    该软件通过直观易用的图形界面,使用户能够轻松完成Kafka和Zookeeper的配置工作,有效避免了手动编辑配置文件可能带来的错误和不便。同时,软件还提供了详细的错误日志记录功能,帮助用户快速定位并解决潜在问题,极...

    dubbo\dubbox编译、环境搭建、服务提供和服务消费及学习资料

    2.1 配置zookeeper 16 2.2 配置dubbo-admin和dubbo-monitor控制台 20 2.2.1 修改dubbo-admin配置 20 2.2.2 修改dubbo- monitor配置 20 2.2.3 启动并登录dubbo-admin和dubbo-monitor控制台 22 3 dubbo开发服务、注册...

    zookeeper+dubbo-admin.zip

    注册中心zookeeper:解压后修改conf下面的zoo.cfg配置文件,设置日志等路径,然后启动zkServer.cmd 可视化dubbo-admin:把war包放到tomcat的webapps目录下运行,在WEB-INF下找到dubbo.properties修改配置,重启...

    dubbox编译、环境搭建、服务提供和服务消费及学习资料

    2.1 配置zookeeper 16 2.2 配置dubbo-admin和dubbo-monitor控制台 20 2.2.1 修改dubbo-admin配置 20 2.2.2 修改dubbo- monitor配置 20 2.2.3 启动并登录dubbo-admin和dubbo-monitor控制台 22 3 dubbo开发服务、注册...

    zookeeper集群部署 精简版本

    更新备份配置文件6. 添加数据目录和日志文件目录7. 添加集群信息7.1. ip配置 方式017.2. 域名配置 方式02(推荐使用)8. 在服务器上分别创建myid,各自写入内容0,1, 29. 同步节点10. 集群脚本制作 1. zookeeper...

    SparkStreaming:Spark Streaming + Flume + Kafka + HBase + Hadoop + Zookeeper实现实时日志分析统计; SpringBoot + Echarts实现数据可视化展示

    生成的数据主要是模拟某学习网站学习视频课程的访问量(其中*以“ / class”开头的表示实战课程,然后通过流水线Flume + Kafka + SparkStreaming进行实时日志的收集,HBase来存储数据)*注意事项(使用的软件工具及...

Global site tag (gtag.js) - Google Analytics