美文网首页
Nacos 大量日志、服务端频繁打印日志、客户端频繁打印日志、日

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

作者: 天凉好个秋灬 | 来源:发表于2020-05-29 16:28 被阅读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
    
    • JVM 启动参数
    参数名 含义 可选值 默认值 支持版本
    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 系统参数介绍

    相关文章

      网友评论

          本文标题:Nacos 大量日志、服务端频繁打印日志、客户端频繁打印日志、日

          本文链接:https://www.haomeiwen.com/subject/ocffzhtx.html