首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux中Log4j的换行符(%n)模式

问Linux中Log4j的换行符(%n)模式
EN

Stack Overflow用户
提问于 2016-07-26 12:19:53
回答 2查看 8.2K关注 0票数 4

我需要一个帮助来打破行,并在Java Web应用程序中添加新的行中的日志。

代码语言:javascript
复制
<PatternLayout pattern="%d{dd/MM/YYYY HH:mm:ss.SSS} [%t] %-5level %logger{36} %msg%n%n"/>

这是我使用的模式。我想在Linux环境中执行此命令,但%n不起作用,日志仅附加到最后一行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-27 19:38:34

您是在Linux上还是在Windows上查看日志文件?如果日志文件是由Linux编写并在Windows上查看的,则换行符不会使用经典文本编辑器在Windows上创建新行,因此所有日志都将在同一行上。

您可以在您的模式中使用\r\n而不是\n,或者使用Windows中的另一个文本编辑器(例如Notepad++)来处理Linux行分隔符(\n)。

票数 6
EN

Stack Overflow用户

发布于 2016-07-27 22:59:18

我将log的模式字符串保留为

代码语言:javascript
复制
<PatternLayout pattern="%msg"/>

并修改了LogManagement.java

代码语言:javascript
复制
private static final Logger LOGGER_OBJECT = LogManager.getLogger(LogManagement.class);

private static final String STRING_DATE_FORMAT = "dd MMM yyyy HH:mm"; //Date & Time format
private static final SimpleDateFormat SIMPLE_DATE_FORMAT_PATTERN = new SimpleDateFormat(STRING_DATE_FORMAT); //Simple format conversion

info函数中的代码

代码语言:javascript
复制
LOGGER_OBJECT.info("\r\n"); //New Line
LOGGER_OBJECT.info("Log Type\t: INFO"); //Log Type
LOGGER_OBJECT.info("\r\n");
LOGGER_OBJECT.info("Date & Time\t: "+SIMPLE_DATE_FORMAT_PATTERN.format(new Date()));//Current Date & Time
LOGGER_OBJECT.info("\r\n");

当我在Linux中记录数据并在Windows平台中查看时,这种方法工作得很好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38580943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档