我正在使用Sping Boot 构建一个命令行应用程序。在这样的应用程序中,logback控制台日志记录是不合适的。我如何完全禁用控制台appender,但仍然让文件appender使用默认的Sping Boot 支持?
更新
我在这里创建了一个功能请求,以便更简单地支持此功能:
https://github.com/spring-projects/spring-boot/issues/1612
我正在使用Sping Boot 构建一个命令行应用程序。在这样的应用程序中,logback控制台日志记录是不合适的。我如何完全禁用控制台appender,但仍然让文件appender使用默认的Sping Boot 支持?
我在这里创建了一个功能请求,以便更简单地支持此功能:
https://github.com/spring-projects/spring-boot/issues/1612
7条答案
按热度按时间eqqqjvef1#
使用最新的1.3.1 Spring Boot 释放测试。
将logback.xml放在资源文件夹下
logback.xml
字符串
另外,如果您之前添加了排除项,请确保从“spring-boot-starter”和“spring-boot-starter-web”依赖项中删除spring-boot-starter-logging的排除项。
不需要下面的依赖项
型
application.properties
型
ffscu2ro2#
我试着从logback.xml中删除控制台配置.但是,它仍然在控制台中登录.所以我做的是,我只是删除了springboot在日志配置中添加的appender.因此,我们可以在控制台中停止springboot日志记录并单独记录日志文件。在应用程序的末尾添加以下行特定的appender。您的自定义appender不应与这些appender名称中的任何一个匹配。它工作了为我
字符串
gpnt7bae3#
在
logback-spring.xml
中包含file-appender.xml
而不是console-appender
,并具有以下配置:字符串
您还需要将
logging.file
添加到application.properties
这符合 Spring Boot 文档-http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html中提到的内容
wfauudbj4#
将以下内容添加到您的application.properties
字符串
u1ehiz5o5#
这里是
logback-spring.xml
,您可以在其中启用和禁用控制台日志,以及基于配置文件的文件日志。我已经注解掉了prod配置文件和默认配置文件的控制台附加器(当没有配置文件活动时)。它将只打印文件中的日志。它将打印到本地,开发等配置文件的控制台和文件。
字符串
6rqinv9w6#
使用Sping Boot 1.3.0,我创建了一个文件
logback-spring.xml
(在src/main/resources
中,内容如下:字符串
此外,我在
application-staging.properties
和application-prod.properties
中添加了logging.file
属性,以指定文件名。这将记录到
dev
的控制台和staging
或prod
配置文件的文件。6uxekuva7#
只需在
src/main/resources
中添加一个名为logback.xml
的文件,内容如下(除了Sping Boot 的源代码中的控制台部分外,逐字复制):字符串
注意
型
为了支持从Sping Boot 的
logging.file
和logging.path
设置日志文件,需要。如果你想做的只是设置一些标准的日志文件,你可以在上面的属性中设置它的路径。
更新(02-04-2015)
在较新版本的Sping Boot 中,您可以轻松地包含Sping Boot 中的
base.xml
并创建以下logback.xml
。型
更新(15-09-2017)
为了在Sping Boot 1.5.x和2.0.0.M4上运行此功能,我添加了一个名为
logback-spring.xml
的文件,并将其添加到resources
目录中。型