使用Java 8防止日志过宽
生活随笔
收集整理的這篇文章主要介紹了
使用Java 8防止日志过宽
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一些日志將被機(jī)器消耗并永久保存。
其他日志僅用于調(diào)試和供人類(lèi)使用。 在后一種情況下,您通常要確保您不會(huì)產(chǎn)生過(guò)多的日志,尤其是不會(huì)產(chǎn)生太寬的日志,因?yàn)橐坏┬虚L(zhǎng)超過(guò)一定大小( 例如,此Eclipse bug ),許多編輯器和其他工具就會(huì)出現(xiàn)問(wèn)題。
字符串操作曾經(jīng)是Java的主要麻煩,它具有許多繁瑣的編寫(xiě)循環(huán)和分支等。Java8不再具有這種功能!
以下truncate方法會(huì)將字符串中的所有行截?cái)酁橐欢ㄩL(zhǎng)度:
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實(shí)現(xiàn)相同的效果:
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")); }上面將日志截?cái)酁殚L(zhǎng)度10時(shí),上面的程序?qū)a(chǎn)生:
輸入項(xiàng)
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
總結(jié)
以上是生活随笔為你收集整理的使用Java 8防止日志过宽的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 专利机构备案流程(专利机构备案)
- 下一篇: 与Java EE和Camel的轻量级集成