当前位置: 首页 > 知识库问答 >
问题:

apache log4j中的编码模式布局

通骁
2023-03-14

尝试使用以下模式布局打印编码的日志消息,以便\n不会在日志中打印为新行。

  <layout class="org.apache.log4j.PatternLayout">
     <param name="ConversionPattern" value="%d{MM-dd-yyyy HH:mm:ss,SSS} %5p [%t] (%F:%L) - %enc{%m}%n"/>
  </layout>

但它实际上会在每条消息之前打印%enc{,并在消息末尾打印},而不是对它们进行编码。\n也没有被替换。

示例:对于此代码logger.info(“my\n消息”)以下是输出日志

08-01-2018 01:26:37,642  INFO [localhost-startStop-1] (ClassName1.java:53) - %enc{my 
message}

相反,它应该是这样的,

08-01-2018 01:26:37,642  INFO [localhost-startStop-1] (ClassName1.java:53) - my message

遵循了本文档https://logging.apache.org/log4j/log4j-2.1/manual/layouts.html,但我不确定该模式有什么问题。

共有1个答案

太叔高义
2023-03-14

您应该在花括号中确定编码格式。例如,%enc{%m}{HTML}将邮件编码为HTML格式。您还可以使用CRLF:enc{%m}{CRLF}

 类似资料:
  • 我对log4j很陌生。我想用以下信息显示日志消息:日志时间戳、优先级、完全限定的类名、消息、仅类名。我尝试显示两次类别,一次使用转换模式,一次使用其他转换模式。这是我的log4j。属性: 可悲的是,它不起作用。如何在同一个日志消息中显示完全限定的类名和类名?蒂娅。 弗朗西斯科

  • Fixed Layout vs Automatic Layout 固定布局 VS 自动布局 There are two different modes you can use to arrange and organize your GUIs: Fixed and Automatic. Up until now, every UnityGUI example provided in this gu

  • 问题内容: 让被称为FMIF的编码风格。 让被称为IM的编码风格。 让被称为FPIM的编码风格。 为什么IM +FPIM被认为比FMIF更好的编码风格?(有关此问题的启发。) 以下是一些使我更喜欢FMIF而不是IM的条件: 代码的简短性:它使我可以使用较短的函数名称,从而有助于遵循每行80列的约定。 可读性:比更具可读性 。尽管这是一个主观标准,但我认为大多数人都会同意。 易于重定向:如果我使用F

  • 问题内容: 假设我们有一个代码块,我们要执行70%的时间,又要执行30%的时间。 很简单。但是,如果我们希望它可以轻松扩展为30%/ 60%/ 10%等呢?在这里,这将需要添加和更改所有if语句,这些if语句使用起来并不十分好,而且很慢并且容易引发错误。 到目前为止,我发现大型开关对于此用例非常有用,例如: 可以很容易地将其更改为: 但是这些也有它们的缺点,它们麻烦并且被划分为预定数量的划分。 我

  • 光环板有两种编程模式:在线模式和上传模式。 在线模式 光环板默认的编程模式是在线模式。当光环板链接到慧编程后,在线模式默认启动,如下图: “在线模式”下,编程有以下这些特性: 程序不需要上传到设备运行,无“上传到设备”按钮。 鼠标单击可直接运行程序,方便你检测程序效果。更改程序后,再次单击运行就可以看到新的效果。注: 鼠标单击运行程序或单个积木。 程序不能离线运行。光环板必须与慧编程保持连接才可运