Mac上的logback返回问号而不是单词

我刚开始使用logback来记录在glassfish3 AS上运行的Java项目,我注意到了一些奇怪的事情。 这段代码

LOG.error("Вычисление {} уже произведено.", calc); 

如果我在Windows上运行我的应用程序,则生成正常的预期输出。 但如果我在Mac上的配置相同,我会有问号而不是文字,如下所示:

 15:37:29.083 ERROR rggcTotalNachController - ?????????? [id=8871] ??? ???????????. 

我的logback配置是:

  ../logs/logback.log  %d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n   

有人可以告诉我,我做错了什么?

尝试为编码器定义字符集:

  ../logs/logback.log  utf-8 %d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n   

遗憾的是,它没有在文档中描述,但您始终可以在源代码中查找属性。 Specyfing 实例化PatternLayoutEncoder。 转到其父LayoutWrappingEncoder,您可以找到方法setCharset() 。 如果指定了它,可以在http://logback.qos.ch/xref/ch/qos/logback/core/encoder/LayoutWrappingEncoder.html#120中看到

您需要检查使用的文本编辑器是否支持您的字符集。 使用的终端也可能影响显示的字符。

我建议使用来自Terminal应用程序的less UNIX命令来支持你的字符集,以validation字符是否打印好。