Lake's Blog Lake's Blog
首页
HCFrame
  • 博客搭建

    • 搜索引擎
    • SEO优化
    • 问题记录
  • Vue

    • 问题记录
  • uni-app
  • 开发

    • Spring
  • 数据库及中间件

    • Elasticsearch
    • SQL
  • 杂谈

    • 杂谈
  • 微服务

    • nacos
    • CAS
  • 算法说明

    • algorithm
  • leetCode

    • leetCode
  • 代理

    • Nginx
  • Linux

    • ubuntu
  • Docker
  • 数据库
  • 消息队列
  • openwrt
  • 友情链接
关于
  • 网站
  • 资源
  • 分类
  • 标签
  • 归档
GitHub

Lake Liu

很菜的程序员
首页
HCFrame
  • 博客搭建

    • 搜索引擎
    • SEO优化
    • 问题记录
  • Vue

    • 问题记录
  • uni-app
  • 开发

    • Spring
  • 数据库及中间件

    • Elasticsearch
    • SQL
  • 杂谈

    • 杂谈
  • 微服务

    • nacos
    • CAS
  • 算法说明

    • algorithm
  • leetCode

    • leetCode
  • 代理

    • Nginx
  • Linux

    • ubuntu
  • Docker
  • 数据库
  • 消息队列
  • openwrt
  • 友情链接
关于
  • 网站
  • 资源
  • 分类
  • 标签
  • 归档
GitHub
  • Spring

  • 数据库及中间件

  • 杂谈

    • 什么是乐观锁,什么是悲观锁
    • Win10启动Tomcat控制台乱码
    • HtmlUnit动态数据未加载
    • Shiro关闭session,无状态接入Springboot
    • windows解决logback中文乱码,以及高亮问题
      • 前言
      • 一、中文乱码
      • 二、无高亮
        • 只加这个参数是不行的,还要导入一个jar包pom 如下:
      • 三、总结
      • 四、原文地址
    • IDEA行号太宽
  • 微服务

windows解决logback中文乱码,以及高亮问题

# windows解决logback中文乱码,以及高亮问题

# 前言

近日在windows上开发一款小工具,为了方便排查问题,特地的加入了logback进行记录日志,奈何在cmd中运行的时候中文就乱码了,并且也没有颜色高亮.下文就是我的解决办法.

# 一、中文乱码

面对中文乱码这个问题,首先想到的是改编码集,这里就分为两个端了.可以改cmd的编码集,也可以改java的编码集.一上最方便的是改cmd的编码,只需要在命令执行之前加上一句chcp 65001就可以了.但是这种方式感觉不太自然,于是就跑去改了logback的编码,logback修改编码也很简单.配置如下:

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <!--填写GBK即可-->
            <charset>GBK</charset>
        </encoder>
</appender>
1
2
3
4
5
6
7

# 二、无高亮

虽然乱码解决了,但看着黑乎乎的窗口还是有点烦呀.google了一下,发现没有颜色的根本原因是cmd不支持ANSI escape code,但mac和linux是天生支持的,所以mac和linux能够正常显示高亮,而win不行.这里有了两个解决办法,第一是,下载一个支持ANSI的终端来替代cmd,但是这种太牵强了;第二种使用logback的官方解决方案即可,配置如下:

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <!--withJansi 参数改为true-->
    <withJansi>true</withJansi>
    <encoder>
        <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        <charset>GBK</charset>
    </encoder>
</appender>
1
2
3
4
5
6
7
8

# 只加这个参数是不行的,还要导入一个jar包pom 如下:

<dependency>
    <groupId>org.fusesource.jansi</groupId>
    <artifactId>jansi</artifactId>
    <version>1.17.1</version>
</dependency>
1
2
3
4
5

# 三、总结

内事不决问百度,外事不决问谷歌.

# 四、原文地址

https://onew.me/logback/2018/09/17/logback_win.html

编辑
#log
上次更新: 2021/11/09, 06:26:52
Shiro关闭session,无状态接入Springboot
IDEA行号太宽

← Shiro关闭session,无状态接入Springboot IDEA行号太宽→

最近更新
01
IDEA行号太宽
03-11
02
uniapp中实现h5扫码功能(微信版)
08-12
03
Docker安装Rabbitmq
07-22
更多文章>
本站总访问量次 | 您是本站第位访问者
Theme by Vdoing | Copyright © 2020-2024 Lake Liu | MIT License | 背景图、Logo、头像设计@Drrizzee
  • 跟随系统
  • 深色模式
  • 浅色模式
  • 阅读模式