内容简介:有个任务停留在任务列表中很久了:本文主要对官方文档原文地址:
有个任务停留在任务列表中很久了: 使用Appenders 完成 loger4j 的日志推送
,始终没有成功实现。追其原因,仍然是官方的文档没有看来。在Spring-boot的项目中看到log4j,就想当然的认为Spring-boot使用的是log4j,然后不假思索的去google。最终导致的就是:功能没有实现,而且还浪费了很多不必要的时间,最后:还是老老实实的回来阅读 spring-boot
的官方文档。
本文主要对官方文档 Logging
部分进行解读。
原文地址: https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html ,如果你使用的是不是最新版本,那么应该使用 https://docs.spring.io/spring-boot/docs/版本号/reference/htmlsingle/#boot-features-logging 如: https://docs.spring.io/spring-boot/docs/1.5.3.RELEASE/reference/htmlsingle/#boot-features-logging
76 日志
在web开中,我们仅需要依赖于 spring-boot-starter-web
便自动启用了日志系统 Logback
。
如果仅仅是想改变日志的等,则可以直接使用 logging.level
前缀在 application.properties
中进行设置,比如:
logging.level.org.springframework.web=DEBUG logging.level.org.hibernate=ERROR
除了控制日志的等级,还可以使用 logging.file
来定义日志输入到的文件位置。
如果我们先想配置更多选项,则可以在 classpath
(resourse)中定义 logback.xml
。
76.1 配置Logback
找到 logback.xml
或 logback-spring.xml
,复制以下基本内容:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/base.xml"/> <logger name="org.springframework.web" level="DEBUG"/> </configuration>
并使用 idea
的 ctrl+o
来打开spring-boot jar中的 base.xml
,我们会看到配置信息包含一些特殊的字符,解读如下:
-
${PID}
当前的进程ID -
${LOG_FILE}
如果设置了logging.file
,则使用logging.file
做为日志输入文件。 -
${LOG_PATH}
同上.指定日志输出路径。 -
${LOG_EXCEPTION_CONVERSION_WORD}
..
76.1.1 配置:将日志仅写入文件
如果我们想禁用控制台的日志输出,然后把日志写入某个日志文件的话。那么需要新建 logback-spring.xml
,并引入 file-appender.xml
,比如:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml" /> <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/> <include resource="org/springframework/boot/logging/logback/file-appender.xml" /> <root level="INFO"> <appender-ref ref="FILE" /> </root> </configuration>
然后:在 application.properties
定义 logging.file
来指定日志文件位置.
例:
logging.file=myapplication.log
打开 org/springframework/boot/logging/logback/file-appender.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!-- File appender logback configuration provided for import, equivalent to the programmatic initialization performed by Boot --> <included> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>${FILE_LOG_PATTERN}</pattern> </encoder> <file>${LOG_FILE}</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${LOG_FILE}.%i</fileNamePattern> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> </appender> </included>
注意:这里面有个 <appender name="FILE"
,指定了 appender名称为
FILE ,对应
logback-spring.xml`的以下语句:
<root level="INFO"> <!--日志等级--> <appender-ref ref="FILE" /> <!--指定appender为FILE,则前面我们刚刚找到的name值--> </root>
总结
有了以上内容,我们知道了如下知识点:
-
spring-boot
默认使用的是Logback
而非log4j
。 -
我们可以单独建立
logback-spring.xml
来细化Logback
的配置。 -
在
Logback
中,是可以指定使用不同的appender
来定义日志的输出的。 -
是否可以自定义
appender
来达到将日志输出到我们的日志服务器,从而达到系统监控的目的呢?
以上所述就是小编给大家介绍的《解读:spring-boot logging。记一次Logback在spring-boot中的使用方法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning Apache Struts
Arnold Doray / Apress / 2006-02-20 / USD 44.99
Beginning Apache Struts will provide you a working knowledge of Apache Struts 1.2. This book is ideal for you Java programmers who have some JSP familiarity, but little or no prior experience with Ser......一起来看看 《Beginning Apache Struts》 这本书的介绍吧!