https://www.cnblogs.com/cgy-home/p/14836149.html

[io.lettuce.core.protocol.ConnectionWatchdog:106]-- Reconnecting, last destination was

问题描述

看了很多文章,最后已解决

在配置文件中配置指定包的 日志打印级别为error即:

我们项目用的是springcloud + nacos配置中心 所以在nacos的yml文件中添加对应的包的日志级别即可

日志输出为:

DEBUG [,,,] 21704 --- [ioEventLoop-4-1] i.l.core.protocol.RedisStateMachine      : Decoded LatencyMeteredCommand [type=INFO, output=StatusOutput [output=# Server
redis_version:3.2.100
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:dd26f1f93c5130ee
redis_mode:standalone
os:Windows  
arch_bits:64
multiplexing_api:WinSock_IOCP
process_id:6616
run_id:3a8bca78496bd73bb5b678d23edcdbbc8faf446f
tcp_port:6379
uptime_in_seconds:26589
uptime_in_days:0
hz:10
lru_clock:5150226
executable:F:\program\database\Redis-x64-3.2.100\"F:\program\database\Redis-x64-3.2.100\redis-server.exe"
config_file:

# Clients
connected_clients:3
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:787592
used_memory_human:769.13K
used_memory_rss:749680
used_memory_rss_human:732.11K
used_memory_peak:861336
used_memory_peak_human:841.15K
total_system_memory:0
total_system_memory_human:0B
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:0.95
mem_allocator:jemalloc-3.6.0

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1649290805
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok

# Stats
total_connections_received:66
total_commands_processed:3615
instantaneous_ops_per_sec:0
total_net_input_bytes:50624
total_net_output_bytes:7923667
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
migrate_cached_sockets:0

# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:1.73
used_cpu_user:5.72
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=6,expires=0,avg_ttl=0
, error='null'], commandType=io.lettuce.core.RedisPublisher$SubscriptionCommand], empty stack: true

日志配置修改

如果使用的是SpringBoot项目默认的配置文件 logback-spring,我们在配置文件中使用<root>设置默认的日志配置

然后使用<logger>标签修改其他包的日志输出级别

 <root level="INFO">

  <appender-ref ref="logfile"/>

  <appender-ref ref="stdout"/>

</root>

使用<logger>标签修改其他包的日志输出级别。

  <!-- 修改其他包的日志输出级别 -->

  <logger name="io.lettuce.core.protocol">

  <level value="ERROR"/>

</logger> 

替换日志框架

不想使用springboot默认的logback日志,比如换成log4j2,修改jar依赖

<dependency> <!-- 引入log4j2依赖 -->
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency> 
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
   <exclusions><!-- 去掉springboot默认日志框架logback的配置 -->
       <exclusion>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-logging</artifactId>
       </exclusion>
   </exclusions>
</dependency>

过滤掉Spring和mybatis的一些无用的debug信息或者重链接的日志

<logger name="org.springframework" level="INFO"/>

<logger name="org.mybatis" level="INFO"/>

<logger name="io.lettuce.core.protocol" level="ERROR"> 

无论是logback还是log4j2都适用于SpringBoot项目。

这个长连接打印日志地方:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐