这是我的application.properties
文件夹下的_/config
:
logging.file=logging.xml
这是_/config
文件夹的内容:
$ tree config
config
├── application-bo.properties
├── application-loc.properties
├── application-pre.properties
├── application.properties
├── application-pro.properties
└── logging.xml
logging.xml
的内容是:
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<!-- LOG "com.baeldung*" at TRACE level -->
<logger name="net.gencat.transversal.espaidoc.common.dao.RedisDao" level="OFF" additivity="false" />
</configuration>
如您所见,我正在尝试禁用从net.gencat.transversal.espaidoc.common.dao.RedisDao
记录器内部生成的日志。
但是,我还在控制台上收到日志消息。
有什么想法吗?
答案 0 :(得分:0)
您要配置的内容仅适用于文件追加器。
您是否尝试过定义控制台附加程序,仅添加控制台的特定配置?
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<logger name="net.gencat.transversal.espaidoc.common.dao.RedisDao" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
答案 1 :(得分:0)
通常在春季启动中,您可以编辑application.properties
(或yaml)文件并定义一系列日志记录定义,包括级别。
但是,这意味着您实际上不需要创建logging.xml
文件-spring boot将仅根据application.properties/yaml
文件中找到的定义配置日志记录:
logging.level.net.gencat.transversal.espaidoc.common.dao.RedisDao=OFF
关于logging.file
的一条注释是错误的:
如果要通过properties / yaml文件配置日志记录,则可以使用此属性来指定将日志写入其中的输出文件名(就像在较旧的应用程序中直接配置文件追加程序一样)。
如果您真的想维护XML文件(可能的话),则可以创建:src/main/resources/logback-spring.xml
文件并将定义放在此处。
同样,在这种情况下,您不需要application.properties
级别的任何属性(包括logging.file
属性)。
以下是这种方法的示例:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds">
<logger name="net.gencat.transversal.espaidoc.common.dao.RedisDao" level="OFF"/>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<jmxConfigurator/>
</configuration>