我刚开始使用 logback 记录我在 glassfish3 AS 上运行的 Java 项目,我注意到一些奇怪的事情。这串代码
LOG.error("Вычисление {} уже произведено.", calc);
如果我在 Windows 上运行我的应用程序,则生成正常的预期输出。但是如果我在 Mac 上使用相同的配置,我得到的是问号而不是文字,如下所示:
15:37:29.083 ERROR r.g.g.c.TotalNachController - ?????????? [id=8871] ??? ???????????.
我的 logback 配置是:
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>../logs/logback.log</file>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
有人可以告诉我,我做错了什么吗?
最佳答案
尝试为编码器定义字符集:
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>../logs/logback.log</file>
<encoder>
<charset>utf-8</charset>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
遗憾的是它没有在文档中描述,但您始终可以在源代码中查找属性。 Specyfing
关于java - mac 上的 logback 返回问号而不是单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13195037/