修改 log4j 服务端日志级别
前言
今天遇到一个问题,需要显示服务端打印的 debug 信息,也就是通过 sl4fj 的 debug 方法打印的日志信息。然后在网上寻求解决方法无果,最后自行研究找到解决方法特此记录。
Bukkit、BungeeCord 这类服务端程序,主要使用 log4j 作为日志框架,虽然插件提供了 java.util.logger
接口,简称 JUL,但是本质上也是由 log4j 实现的。
这类日志框架一般都会有个配置文件,并被打包到 jar 包里,只能通过通过配置文件修改。
解决方法
log4j 可以使用启动参数来指定配置文件路径,使用压缩软件将 jar 包内的 log4j2.xml 文件提取出来,放到启动脚本目录里面。
例如 Paper 服务端的 log4j 配置文件是在 /versions/版本号/paper-版本号.jar
这个文件内
修改配置文件,将 level="info"
全部替换成 level="debug"
然后保存
启动参数上附带以下参数,然后保存启动即可。
-Dlog4j.configurationFile=file:./log4j2.xml
然后就能够看到各种框架打印的 debug 信息。