slf4j 记录器不打印完整的包名称
slf4j logger doesn't print full package name
我有一个项目,其中一些 classes 使用 org.slf4j.Logger 来记录一些信息。所有其他 classes 中的记录器工作正常并打印完整的 class 名称,例如INFO com.myapp.gca.servlet.LoginServlet - Entering login
。但是对于一个 class,它不会打印完整的 class 名称,例如INFO c.m.gca.servlet.HealthCheckServlet - GCA health check OK
,其中 com.myapp.
替换为 c.m.
。
我找不到这个 class 与其他人有任何区别。记录器定义为
private static Logger log = LoggerFactory.getLogger(HealthCheckServlet.class);
可能是什么原因?
在 logback.xml 的模式中使用 %logger{26}。
有关详细信息,请参阅此 link。
请参阅官方文档中的 Conversion Word table。由于组合包和 class 名称长度,您必须将记录器配置为至少 40
的长度:
%logger{40}
但是,总是提供全名的%logger
会更好。
我有一个项目,其中一些 classes 使用 org.slf4j.Logger 来记录一些信息。所有其他 classes 中的记录器工作正常并打印完整的 class 名称,例如INFO com.myapp.gca.servlet.LoginServlet - Entering login
。但是对于一个 class,它不会打印完整的 class 名称,例如INFO c.m.gca.servlet.HealthCheckServlet - GCA health check OK
,其中 com.myapp.
替换为 c.m.
。
我找不到这个 class 与其他人有任何区别。记录器定义为
private static Logger log = LoggerFactory.getLogger(HealthCheckServlet.class);
可能是什么原因?
在 logback.xml 的模式中使用 %logger{26}。
有关详细信息,请参阅此 link。
请参阅官方文档中的 Conversion Word table。由于组合包和 class 名称长度,您必须将记录器配置为至少 40
的长度:
%logger{40}
但是,总是提供全名的%logger
会更好。