一些日志将被机器消耗并永久保存。

其他日志仅用于调试和供人类使用。 在后一种情况下,您通常要确保您不会产生过多的日志,尤其是不会产生太宽的日志,因为一旦行长超过一定大小( 例如,此Eclipse bug ),许多编辑器和其他工具就会出现问题。

字符串操作曾经是Java的主要麻烦,它具有许多繁琐的编写循环和分支等。Java8不再具有这种功能!

以下truncate方法会将字符串中的所有行截断为一定长度:

public String truncate(String string) {return truncate(string, 80);
}public String truncate(String string, int length) {return Seq.of(string.split("\n")).map(s -> StringUtils.abbreviate(s, 400)).join("\n");
}

上面的示例使用jOOλ0.9.4和Apache Commons Lang ,但是您可以使用香草Java 8实现相同的效果:

public String truncate(String string) {return truncate(string, 80);
}public String truncate(String string, int length) {return Stream.of(string.split("\n")).map(s -> s.substring(0, Math.min(s.length(), length))).collect(Collectors.joining("\n"));
}

上面将日志截断为长度10时,上面的程序将产生:

输入项

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.

输出量

Lorem ipsum dolor...
incididunt ut lab...
nostrud exercitat...
Duis aute irure d...
fugiat nulla pari...
culpa qui officia...

祝您登录愉快!

翻译自: https://www.javacodegeeks.com/2015/01/using-java-8-to-prevent-excessively-wide-logs.html

使用Java 8防止日志过宽相关推荐

  1. java日志使用_使用Java 8防止日志过宽

    java日志使用 一些日志将被机器消耗并永久保存. 其他日志仅用于调试和供人类使用. 在后一种情况下,您通常要确保您不会产生太多的日志,尤其是不会产生太宽的日志,因为一旦行长超过一定大小( 例如,此E ...

  2. java异常及日志注意事项

    java异常及日志注意事项 参考文章: (1)java异常及日志注意事项 (2)https://www.cnblogs.com/lq147760524/p/8475531.html 备忘一下.

  3. 带你理清 Java 混乱的日志体系 - log4j、logback、log4j2、jcl、SLFJ 究竟是啥关系?

    1.JAVA混乱的日志体系 换乱的java日志体系 case: SLF4J-JCL LOG4J-CORE LOGBACK SLF4J-SIMPLE JCL-OVER-SLF4J LOGBACK-COR ...

  4. 在云环境上使用SLF4J对Java程序进行日志记录

    我开发了一个Java应用,部署到云环境上之后,用postman测试发现不能按照我期望的工作,但是返回的消息对我没有任何帮助. 因为部署在云端的应用很难像本地Java应用一样调试,所以我打算用SLF4J ...

  5. java 打开gc日志_在运行时打开GC日志记录

    java 打开gc日志 总是有下一个JVM表现不佳. 而且,您内心深知,如果您只有少数启动选项可以公开一些有关正在发生的事情的信息,那么您可能就有机会真正修复该死的东西. 但是不,您需要的标志( -X ...

  6. java servlet 调试日志 logger sae_java servlet 调试日志 lo

    java servlet 调试日志 lo [2021-02-10 08:32:08]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace( ...

  7. java框架学习日志-2

    2019独角兽企业重金招聘Python工程师标准>>> 上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又 ...

  8. java获取图片的长宽尺寸(毫米)

    java获取图片的长宽尺寸(毫米) 现在有个需求是附上 附件图片,同时要标注图片的一些属性,比较麻烦的要标识图片的长宽尺寸(毫米),网上找了半天都是获取图片的长宽像素,但是想了想 图片的长宽尺寸不应该 ...

  9. java解析webp格式图片宽高;java解析webp图片转png格式

    java解析webp格式图片宽高:java解析webp图片转png格式 package 你的包名:***.***.***.***;import java.io.FileInputStream; imp ...

最新文章

  1. centos查看历史指令记录_CentOS 系统通过 curlftpfs 挂载 FTP 服务器为本地磁盘
  2. 微信企业号开发[二]——获取用户信息
  3. Java lang3的 StringUtils.isNumeric(str)不能识别负数和小数
  4. iOS 11 将于9月19日正式发布,一文带你了解它的那些特性
  5. springboot高校学生健康打卡系统的设计与实现毕业设计源码021009
  6. 2021-08-10小米盒子3增强版挂U盘刷v1.46版历程
  7. 支持中英文和国旗的android国家代码/国际电话区号选择器
  8. EDA实验:数字频率计(FREQ)设计(VHDL)
  9. Cisco PT 案例五:VLAN(Trunk模式实践)
  10. 第九章 SG90伺服舵机模块的使用
  11. 编译原理实验二:词法分析程序
  12. 【HTML】使用Vscode快速书写HTML
  13. 安卓源码避坑指南10—蓝牙音乐播放状态和歌曲信息不更新
  14. 【zyc的从零开始】20211012 运算符
  15. 市场调研报告-全球与中国吸热气体发生器市场现状及未来发展趋势
  16. 批处理命令goto的使用
  17. RabbitMQ(1): docker-compose安装rabbitmq及简单使用Hello World
  18. 程超 java_Linux JDK1.7升级到JDK1.8
  19. 华为云计算IE笔试笔记
  20. 北京、上海、福州新基建三年规划比较: 区块链地位、作用大不同

热门文章

  1. MyBatisPlus(基于starter和Bean方式)
  2. jquery官网打不开难以下载,不妨试试webjars
  3. 文件上传与下载----SpringMVC
  4. php打印 二维数组,PHP中遍历二维数组_以不同形式的输出操作实例
  5. 修改打印机ip工具_使用富士施乐一体机因动态IP导致不能打印与扫描的解决方法...
  6. SQL分组取每组前一(或几)条记录(排名)
  7. 《线性代数及其应用》
  8. 特权级概述(哥子就想知道CPU是如何验证特权级的)GATE+TSS
  9. how to build a paper's architecture?
  10. //rest风格写_REST /使用提要发布事件