| | |
| | | <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/> |
| | | |
| | | <!-- 控制台输出 --> |
| | | <!-- |
| | | 控制台编码必须和「运行环境」一致,否则中文乱码("鍒犻櫎"、"鐢佃瘽" 这种): |
| | | · Windows cmd:代码页 936,只认 GBK |
| | | · Linux 终端:只认 UTF-8 |
| | | 而 JVM 默认字符集不能依赖:JDK8+中文Windows 是 GBK,JDK18+(JEP 400)被固定成 UTF-8, |
| | | 同一个 jar 在开发机(JDK21)和服务器(JDK8)上默认值可能相反。 |
| | | |
| | | 所以这里做成可配:默认 GBK(Windows 部署,开发机 JDK21 也正常), |
| | | Linux 部署时启动加一个参数即可: java -DCONSOLE_CHARSET=UTF-8 -jar smartor-sufang.jar |
| | | 日志文件(sys-info.log 等)始终 UTF-8,不受这里影响。 |
| | | --> |
| | | <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <encoder charset="UTF-8"> |
| | | <encoder> |
| | | <charset>${CONSOLE_CHARSET:-GBK}</charset> |
| | | <pattern>${log.pattern}</pattern> |
| | | </encoder> |
| | | </appender> |