log4j2 文件附加程序用于文件编码/格式是啥?

Posted

技术标签:

【中文标题】log4j2 文件附加程序用于文件编码/格式是啥?【英文标题】:What does log4j2 file appenders use for file encoding/format?log4j2 文件附加程序用于文件编码/格式是什么? 【发布时间】:2016-08-07 22:03:06 【问题描述】:

log4j2 在写入 rollingfileappender 时使用什么文件格式?此外,有没有办法改变它?我想使用 UTF-16。

【问题讨论】:

【参考方案1】:

对 Ralph 的回答的小修正:对于 PatternLayout,默认字符集是系统默认值。这很重要,因为例如 Windows 控制台将无法在日语 Windows 上正确显示 UTF-8。

【讨论】:

【参考方案2】:

The Charset is specified on the Layout. AbstractStringLayout defaults to UTF-8.

您应该可以通过在布局配置中指定charset="UTF-16" 来更改它。

【讨论】:

谢谢!我没有想到它是模式的一部分,因为我一直在寻找它的附加程序。布局信息here +10。值得指出的是,包括 PatternLayout 在内的大多数布局都扩展了 AbstractStringLayout,因此它们都接受 charset 参数。【参考方案3】:

如果你使用log4j.properties,配置如下:

appender.rolling.layout.charset = UTF-16

或者在你的xml配置文件中进行相应的配置。

【讨论】:

您应该提供更大的配置摘录,因为您的答案的当前内容可能给人以appender.rolling.layout.charset 是普遍有效的配置属性的错误印象。实际上rollinglayout 是任意标识符。

以上是关于log4j2 文件附加程序用于文件编码/格式是啥?的主要内容,如果未能解决你的问题,请参考以下文章

带有路由附加程序的 Log4J2 不归档文件

Log4J2 - 在运行时分配文件附加程序文件名

hebzbx是啥格式的文件

log4j2 未找到 1 个记录器的附加程序

js,nodejs如何判断文件是啥编码格式

linux kernel 是啥格式的文件