Java库:Jansi - 彩色日志输出体验
Java库:Jansi - 彩色日志输出体验
- 环境:JDK8、springboot
- 依赖库:
Jansi
Jansi简介:Jansi是一个小型 Java 库,它允许您使用ANSI 转义码来格式化您的控制台输出,即使在 Windows 上也可以使用。
- 引入依赖
<dependency><groupId>org.fusesource.jansi</groupId><artifactId>jansi</artifactId><version>2.4.0</version>
</dependency>
- 使用junit体验
@Test
void testJansi() {System.out.println(ansi().eraseScreen().fgRgb(188,232,105) // 使用rgb颜色.a(Ansi.Attribute.UNDERLINE) // + 下划线.a("Hello") // 作用于"Hello"文字上.bg(GREEN) // 绿色背景.fgRgb(189,233,105).a(Ansi.Attribute.UNDERLINE_OFF) // - 下划线.a("World") // 作用于....reset()); // 输出
}
输出
总结:下面有彩蛋
如果自己有需求可以对它进行二次封装
- 使用场景
老实说,打印彩色字体打印在控制台上确实比较少见,日志库也有颜色的功能,但没有jansi的颜色、样式丰富,但是放眼看看node.js
配合color.js
的日志输出就很前端美学
所以,有jansi库和没有对于开发效率而言没有半毛钱关系,如果你和我一样在意Java服务器开发日志输出的优雅、美学方面,那Jansi
正是你所需要的
- 彩蛋
System.out.println(ansi().eraseScreen().a("\33[44m\n" +"\33[40m\33[30m //\n" +"\33[37m \\\\ //\n" +"\33[36m \\\\ //\n" +"\33[35m ##DDDDDDDDDDDDDDDDDDDDDD##\n" +"\33[34m ## DDDDDDDDDDDDDDDDDDDD ##\n" +"\33[33m ## hh hh ##\n" +"\33[32m ## hh // \\\\ hh ##\n" +"\33[31m ## hh // \\\\ hh ## \n" +"\33[30m ## hh hh ##\n" +"\33[31m ## hh wwww hh ##\n" +"\33[32m ## hh hh ##\n" +"\33[33m ## MMMMMMMMMMMMMMMMMMMM ##\n" +"\33[34m ##MMMMMMMMMMMMMMMMMMMMMM##\n" +"\33[35m \\/ \\/\n"+ "\33[44m"));
可以用
jansi
对ANSI
符号控制颜色,具体ANSI去Google或百度
图片转成ANSI格式并打印在控制台
- 再给大家看个更牛逼的
原图:
没错,因为想到
jansi
底层用的是ansi
,所以找到能将图片转ansi的文件(也就是.ans文件)即可
图片 convert ANSI(国外网站):https://manytools.org/hacker-tools/convert-image-to-ansi-art/
如此考虑下来,因为图片转ANSI的精度肯定没有图片的精度高,那就用精度低的Logo试一试:jansi官网的Log
转成ansi
文件后,效果基本上可以还原了
BufferedReader bufferIs = new BufferedReader(new FileReader("D:\\Desktop\\jansi-ansi-art.utf.ans"));
StringBuilder sb = new StringBuilder();
String str = null;
while ((str = bufferIs.readLine()) != null) { sb.append(str + "\n"); }
System.out.println(ansi().eraseScreen().a(sb));
bufferIs.close();
Java库:Jansi - 彩色日志输出体验相关推荐
- java 使用logback进行日志输出
在java项目中使用logback可以非常方便的进行日志输出,logback的使用方法与log4j非常类似:使用logback所需要的jar包包括: logback-classic-1.0.13.ja ...
- C++plog库,轻量级日志框架(日志库)
文章目录 为何建议程序员在项目中使用第三方日志库 第三方日志库plog的优势 plog主要头文件及使用方法解释 plog/Log.h plog/Appenders/ColorConsoleAppend ...
- spring boot日志配置文件(彩色日志)logback-spring.xml
文章目录 前言 ✨彩色日志 ✨输出到控制台 ✨输出到文件 1.输出所有日志 2.输出错误日志 ✨配置不同环境下的日志级别 ✨完整的logback-spring.xml文件配置 ✨文件下载 前言 spr ...
- 【超哥原创分享】自定义实现日志输出,抛弃任何依赖包,日志输出随心走,弃繁就简,简而不凡
简要说明: 现在日志输出框架太多,想找个简单的用用,结果没找到.日志输出中又不想做任何依赖处理,所以就自己做了一个日志输出.完整代码如下: package com.liangchao.luckdraw ...
- logback 日志打印,彩色日志
一.logback控制台常规日志输出 常规配置 <configuration><appender name="STDOUT" class="ch.qos ...
- Java日志(slf4j+logback)及打印彩色日志
一.maven依赖 在pom文件增加slf4j+logback依赖 <!-- 版本配置 --> <properties><slf4j.version>1.7.21& ...
- Logback日志乱码,指定日志输出路径,日志彩色输出
Logback日志乱码: 处理方案1: <encoder><charset class="java.nio.charset.Charset">UTF-8&l ...
- Java日志输出Logger,Commons Logging,Log4j的运用
日志 在编写程序的过程中,常常用System.out.println()打印出执行过程中的某些变量,观察每一步的结果与代码逻辑是否符合,然后有针对性地修改代码.改好之后又要删除打印语句,这样很麻烦. ...
- 肝了2天,把终端输出的彩色日志都搬到了浏览器上。
前言 前段时间在使用 Travis CI 的时候发现它的部署日志包含了很多带色彩的日志. 并且我们知道,在使用命令行终端的时候也会出现这些可爱的色彩. 当然我不是为了吹它而吹它,它是有实际的作用的,能 ...
最新文章
- LeetCode简单题之数组中第 K 个独一无二的字符串
- 关于深度学习推荐系统领域的15个问题
- ASP.NET MVC入门到精通——Spring.net-业务层仓储
- Codis集群扩容方法
- 【 MATLAB 】信号处理工具箱之 dct 简介及案例分析
- 利用async和await异步操作解决node.js里面fs模块异步读写,同步结果的问题
- android EventBus的简单使用
- 折纸 瓦力机器人_折纸图解金鱼筷子架
- ExtJs之ExtJs.Model验证
- 【翻译】Brewer's CAP Theorem CAP定理
- C++ set 排序 修改元素之后不会改变原来的排序
- php调java_php调java接口
- 城市三字码,机场三字码(CITY / AIRPORT 3 LETTERS CODE)
- Docker安装Redis 6.2.6的3主3从集群和集群的扩缩容操作
- Minifilter中 Filter Initiated I/O(过滤器自产生I/O)
- uni-app获取当前时间日期及之后7天和星期几
- python实现随机密码生成
- 【3Dprinter】3D打印机机型结构 UM、I3、Hbot等的简单介绍
- android 语音和输入法按钮切换,android 切换系统语言,输入法也随之切换
- 软件设计-UML类图详解说明
热门文章
- java计算机毕业设计web企业档案管理系统MyBatis+系统+LW文档+源码+调试部署
- 基于thinkjs 3.x 转发下载图片 示例
- Linux系统中对SSD硬盘优化的方法
- 100天精通Python丨办公效率篇 —— 14、Python这些小技巧,让文件管理更加智能
- python查看显存占用情况以及使用numba.cuda释放显存
- 常用缓存淘汰策略FIFO、LFU、LRU
- font-spider 压缩字体文件 html vue
- 无线局域网控制器(WLC)常见问题1
- Android Dialer--通讯整体过程分析
- HDMI接口与HDMI协议