java阻止Spring引导将日志打印到控制台
我正在为我的应用程序使用SpringBoot,并且使用默认的SpringBoot日志记录
在我的application.properties
中,我添加了logging.file
的文件路径
logging.file= ${logger_path}
而我的pom.xml
包含
<logger_path>/tmp/app.log</logger_path>
当我启动应用程序时,它会将日志消息打印到位于/tmp/app.log
的文件中,但问题是它也会在控制台上打印日志消息。当我指定了一个log file
时,我真的不明白为什么它在控制台上打印(,尽管它正在将它们打印到指定的文件中)
是否有任何配置可防止spring boot将日志消息打印到控制台
# 1 楼答案
使用最新的1.3.1版本进行测试,并使用较新的基本版本。xml已重命名为默认值。xml
Answer here
# 2 楼答案
类似的讨论可以在here中找到
我的日志。xml如下所示:
以防万一,你仍然会遇到一个问题:我读了很多关于这个话题的讨论,但对我来说根本不起作用。不幸的是,我在创建文件logback时犯了一个非常愚蠢的错误。第一次使用xml:在文件名的开头添加了一个空格。因此,该文件从未被使用过。因此,只需重新查看文件名,将文件添加到“src/main/resources”中,并从属性文件中删除任何“logging.config”条目
# 3 楼答案
在
logback-spring.xml
中使用以下配置包括file-appender.xml
和不console-appender
:您还需要将
logging.file
添加到application.properties
这符合spring引导文档中提到的内容-http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html
# 4 楼答案
Spring boot附带内置的
logback
记录器,默认情况下配置为打印到控制台您需要覆盖
logback
配置(在类路径上提供您自己的logback.xml
)。 第66.1节对此进行了描述如何禁用回写日志读取here-
如您所见,您必须提供值
OFF
。。。比如:注意:请记住,这里的一般想法是,来自spring boot的logback配置是最小的。其目的是您提供自己的回写配置,并完全覆盖现有的回写配置-例如,提供自己的回写配置,只配置日志文件附加器-这应该是您的常规方法
# 5 楼答案
我尝试从logback中删除控制台配置。xml。但是,它仍在登录控制台。所以我所做的是,我刚刚删除了springboot在日志配置中添加的appender。因此,我们可以在控制台中停止springboot日志记录并分离日志文件。在添加特定于应用程序的附加程序的末尾添加以下行。您的自定义appender不应与这些appender名称中的任何一个匹配。这对我有用