Nacos 大量日志、服务端频繁打印日志、客户端频繁打印日志、日

2020-05-29  本文已影响0人  天凉好个秋灬

日志打印频繁的问题

在老的 Nacos 版本中,往往会有大量的无效日志打印,这些日志的打印会迅速占用完用户的磁盘空间,同时也让有效日志难以查找。目前社区反馈的日志频繁打印主要有以下几种情况:

access日志大量打印

相关issue有:https://github.com/alibaba/nacos/issues/1510。主要表现是 {nacos.home}/logs/access_log.2019-xx-xx.log 类似格式文件名的日志大量打印,而且还不能自动清理和滚动。这个日志是 Spring Boot 提供的 tomcat 访问日志打印,Spring Boot 在关于该日志的选项中,没有最大保留天数或者日志大小控制的选项。因此这个日志的清理必须由应用新建 crontab 任务来完成,或者通过以下命令关闭日志的输出(在生产环境我们还是建议开启该日志,以便能够有第一现场的访问记录):

server.tomcat.accesslog.enabled=false

服务端

业务日志大量打印且无法动态调整日志级别。这个问题在1.1.3已经得到优化,可以通过API的方式来进行日志级别的调整,调整日志级别的方式如下,其中,$nacos_server 是你自己的 nacos 地址,如果在本机就是 http://127.0.0.1,ns 代表 name server,cs 代表 config server,而 logName 是输出的日志文件的名字去掉后缀,微微有点坑的是接口路径竟然不是统一的,name server 后面是 operator,config server 是 ops:

# 调整naming模块的naming-raft.log的级别为error:
curl -X PUT '$nacos_server:8848/nacos/v1/ns/operator/log?logName=naming-raft&logLevel=error'
# 调整config模块的config-dump.log的级别为warn:
curl -X PUT '$nacos_server:8848/nacos/v1/cs/ops/log?logName=config-dump&logLevel=warn'

客户端

日志大量打印,主要有心跳日志、轮询日志等。这个问题已经在1.1.3解决,请升级到1.1.3版本。

# 日志级别,可以指定到具体类
logging:
  level:
    com.alibaba.nacos: warn
参数名 含义 可选值 默认值 支持版本
com.alibaba.nacos.naming.log.level(-D) Naming客户端的日志级别 info,error,warn等 info >= 1.0.0
com.alibaba.nacos.config.log.level(-D) Config客户端的日志级别 info,error,warn等 info >= 1.0.0
image.png

参考资料:
Nacos FAQ
Nacos 系统参数介绍

上一篇 下一篇

猜你喜欢

热点阅读