我想将logback-spring.xml
中的日志级别外部化如下,
<root level="${logback.loglevel}">
<appender-ref ref="CONSOLE"/>
</root>
在我的<code>应用程序中。yml我拥有的文件:
logback:
loglevel: WARN
但是这个值不是从Logback XML中选择的,而是以DEBUG
级别运行。如果我将那里的值硬编码为WARN
,则它仅以WARN
级别运行。
你可以使用springProfiles。< code>logback-spring.xml示例:
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<springProfile name="production">
<root level="warn">
<appender-ref ref="STDOUT"/>
</root>
</springProfile>
<springProfile name="default,local,develop,qa">
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
</springProfile>
</configuration>
资源文件夹:
无论您是在< code >生产中启动< code>spring,还是在任何一种情况下启动(< code >默认、本地、开发、qa),它都会使用正确的日志级别。
使用参数<code>java-jar-Dspring.profiles启动应用程序。活动=生产将日志级别设置为警告
。
如果你想要的只是改变日志级别,那么应该遵循jccampanero答案中的方法。这是由Spring开箱即用提供的,以使开发人员的工作变得简单。
但是,如果您希望对日志记录进行更多的定制,并且希望能够灵活地将配置值从< code > application . properties 或< code>application.yml传递到您的< code>logback-spring.xml。也很简单。
例如,在application.properties
中,您有此配置my.logging.level=WARN
在您的logback-spring.xml
中,您可以简单地通过以下方式检索它
<springProperty scope="context" name="logLevel" source="my.logging.level" defaultValue="INFO"/>
现在您可以在<code>logback spring中使用<code>logLevel</code>(如上面的springProperty标记中定义的)。xml文件如下:
<root level="${loglevel}">
<appender-ref ref="CONSOLE"/>
</root>
希望这对您有所帮助。
似乎您试图实现的配置外部化类型是基于Spring < code > application . yml 配置文件的。
如果是这种情况,Spring Boot提供了开箱即用的不同配置属性,您可以使用这些属性来定义适当的日志记录级别,无论您使用的是底层日志记录库实现。
您可以在不同的应用程序中提供适当的配置。属性
或应用程序。yaml
,类似于:
logging:
level:
root: "warn"
org.springframework.web: "debug"
org.hibernate: "error"
请注意,使用自定义<code>logbackSpring。xml文件是不必要的。
如果您需要更多信息,请考虑查看上述留档。
我是SpringMVC的新人。我试图将我的核心Maven项目添加到Spring MVC Maven项目中。它成功地构建了,我可以在“target\project.war\WEB-INF\lib”中看到相应的jar文件,但它在glassfish控制台上引发了错误。 严重:部署应用程序时出现异常 我不能添加任何maven项目或jar文件。极有可能我没有做正确的添加依赖关系。如果有人能帮我。提前谢了。
在springboot应用程序中,我有一个jar,然后是一个子目录config with application。属性,applicationContext。xml和log4j。。。属性文件。 我正在尝试外部化log4j配置。application.properties是这样外部化的。 但是,当springboot运行时,它使用jar文件中的log4j配置文件。通过使用-Dlog4j.debug选
我希望解析JSON,为此我下载了java JSON。从这个URL下载jar文件。我在构建路径中添加了这个 右键单击项目 构建路径- 但是导入组织。json。JSONArray给了我一个错误。当我在org停下来的时候。它给了我一些不包括json的建议。 我应该怎么做才能成功导入json包?
我用SpringBoot做了一个RESTAPI项目。控制器中有各种标准方法,如get、post、put和delete。 我的目标是使我能够通过angular应用程序仅访问api调用(get调用除外)。其他方法(post、put和delete)无法从外部访问。 我试图用WebSecurityConfigureAdapter和configure函数来解决这个问题,但我没有得到它。当我第一次在pom上导
本文向大家介绍SpringBoot项目在IntelliJ IDEA中如何实现热部署,包括了SpringBoot项目在IntelliJ IDEA中如何实现热部署的使用技巧和注意事项,需要的朋友参考一下 spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。 原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动更
问题内容: 当我运行“清理并生成”时,仅在文件夹位于文件的同一文件夹时,才会运行正在创建的文件。 因此,如果我将jar文件移动到桌面并将该文件夹保留在该文件夹中,则jar文件将给我一个例外。 我该如何解决这个问题? 问题答案: 如果将jars复制到源代码目录中,它们将位于您的最终jar中。但是,我不确定这是否会在100%的时间内有效。 java-forum上有一篇很棒的文章,内容如下: 除了少数情