如何使用FileHandler设置XMLFormatter以仅写入原始消息

时间:2016-01-06 23:28:26

标签: java logging filehandler

我正在使用java FileHandler附加到文件,偶尔会旋转它。数据由JSON字符串组成,每行一个。该文件由另一个进程使用,我希望FileHandler只写入我传递给publish方法的JSON字符串,而不包含任何xml元数据。这是如何完成的?我已经在互联网上搜索了有关XMLFormatterFileHandler的信息,但我发现的只是内容农场教程,几乎没有涉及基础知识。现在,我将以下内容写入文件:

<record>
  <date>2016-01-06T15:05:54</date>
  <millis>1452121554535</millis>
  <sequence>14</sequence>
  <level>INFO</level>
  <thread>29</thread>
  <message>MyMessage</message>
</record>

我想写的就是MyMessage。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

如果您不想使用自定义格式化程序,则可以使用java.util.logging.SimpleFormatter并将format属性设置为%5$s,这将只写出日志的消息部分记录。

java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format = %5$s

如果您需要另一个具有不同模式的SimpleFormatter(如ConsoleHandler),或者您的原始数据出现MessageFormat模式,则无效。