繁体   English   中英

Spring日志和application.properties

[英]Spring logging and application.properties

以下问题对于许多人来说似乎很愚蠢,因为它应该有一个简单的解决方案,但是我是Spring框架的初学者,并且我一直在搜索和测试许多方法,但均未成功。

因此,我需要为基于Spring的Web服务实现日志记录。 Maven用于依赖关系,具有spring-boot-starter-ws依赖关系,而不是整个starter-web starter。

我通过添加依赖项和配置文件来尝试使用log4j,它确实生成了一个日志文件,但仅用于记录器本身的初始化,尽管log4j处于TRACE级别,但是没有记录何时使用该服务。 我还尝试了logback,方法是添加logback.xml文件,并添加starter-logging依赖项,但这也会创建空的日志文件,并且上面没有任何内容。

在Spring引导文档中,提到了application.properties文件。 因此,我在WEB-INF中创建了此文件,然后将logging.level.org.springframeworklogging.path条目放入。 但是仍然根本没有创建日志文件。

我不想记录自己的消息,只想记录Spring本身生成的事件。 而且我也没有主要方法,只有Web服务的端点(如果其中任何一个可能相关)。 因此,我需要的是最简单的日志记录,可能无需添加太多依赖项,然后将Spring消息检索到日志中。 有人可以告诉我我在做什么错吗?

logback是Spring Boot使用的默认日志记录实现(我假设您正在使用Spring Boot创建一个jar并运行它!)。 基本上,您不需要执行任何操作,您已包含的启动程序已经处理了日志记录。

Spring附带了一个默认的logback.xml ,它可以打开日志记录,对于spring框架,它位于INFO上。

如果要覆盖此内容,只需创建一个内容与默认内容相同的logback.xml文件,然后将spring的记录器放在DEBUG或TRACE上。 除非您想要性能较低的应用程序,否则不确定是否真的要跟踪一切。

至于您做错了什么,就是您可能在做很多事情,并考虑到复杂问题。

我是在WEB-INF中创建的

那是您已经尝试过的唯一问题。 它必须在类路径上(如果具有正常的构建配置,请将其放在“ src / main / resources”中;如果出于某种原因手工构建WAR,则将其置于“ WEB-INF / classes”中)。

不知道logging.level.org.springframework and the logging.path可以在Spring Boot中使用。 您可以尝试将logback.xml文件和application.properties直接移动到resources目录dir并将其粘贴到logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="org.springframework" level="DEBUG" appender-ref="FILE"/>
</configuration>

这应该登录控制台和您的/ tmp(如果是Linux)目录。

//更新:

手动设置写入日志的位置,您可以执行以下操作(我基本上减少了导入的base.xml内的内容):

<appender name="FILE_APPENDER"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } [%t] --- %-40.40logger{39} : %m%n%wex</pattern>
    </encoder>
    <file>C://yourDir</file>
</appender>

然后改变

<logger name="org.springframework" level="DEBUG" appender-ref="FILE"/>

至:

<logger name="org.springframework" level="DEBUG" appender-ref="FILE_APPENDER"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM