logback

LogBack日志配置

北城余情 提交于 2020-02-17 05:22:33
程序中记录日志一般有两个目的   1、故障定位   2、显示程序运行状态 logback的主要模块   1、logback-access:与server容器集成,提供通过http来访问日志的功能   2、logback-classic:是log4j的改良版本,完整的实现了slf4j api可以很方便的更换其他的日志系统   3、logback-core:为logback-access与logback-classic提供了基础的服务 logback的主要标签   1、logger:日志的记录器,主要用于存放日志对象,定义日志的类型、级别   2、appender:指定日志输出的目的地(控制台、文件、远程套接字服务器等)   3、layout:格式化日志信息的输出 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 3 当scan为true时,配置文件发生改变,将会被重新加载,默认为true; 4 scanPeriod 设置 监测配置文件是否有修改时间的时间间隔,如果没有时间单位,默认时间单位为毫秒,当scan为true时,这个属性就生效; 5 debug 当该属性设置为true时,将会打印出logback内部的日志信息,实时查看logback的运行状态 6 --> 7 <configuration scan = "true"

logback 常用配置详解(二) <appender>

你说的曾经没有我的故事 提交于 2020-02-17 05:20:47
logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的组件。 <appender>有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。 1.ConsoleAppender: 把日志添加到控制台,有以下子节点: <encoder>:对日志进行格式化。(具体参数稍后讲解 ) <target>:字符串 System.out 或者 System.err ,默认 System.out ; 例如: Xml代码 <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern> </encoder> </appender> <root level="DEBUG"> <appender-ref ref="STDOUT" /> </root> </configuration> 2.FileAppender: 把日志添加到文件,有以下子节点: <file>:被写入的文件名

logback 常用配置详解(二) <appender>

我怕爱的太早我们不能终老 提交于 2020-02-17 05:19:56
转自: logback 常用配置详解(二) <appender> logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的组件。 <appender>有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。 1.ConsoleAppender: 把日志添加到控制台,有以下子节点: <encoder>:对日志进行格式化。( 具体参数稍后讲解 ) <target>:字符串 System.out 或者 System.err ,默认 System.out ; 例如: Xml代码 < configuration > < appender name = "STDOUT" class = "ch.qos.logback.core.ConsoleAppender" > < encoder > < pattern > %-4relative [%thread] %-5level %logger{35} - %msg %n </ pattern > </ encoder > </ appender > < root level = "DEBUG" > < appender-ref ref = "STDOUT" /> </ root > </

Spring Cloud集成ELK完成日志收集实战(elasticsearch、logstash、kibana)

梦想与她 提交于 2020-02-16 03:09:36
简介 对于日志来说,最常见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目: logstash(收集)、elasticsearch(存储+搜索)、kibana(展示) ,我们将这三个组合起来的技术称之为ELK,所以说ELK指的是Elasticsearch、Logstash、Kibana技术栈的结合。ELK对外作为一个日志管理系统的开源方案,能够可靠和安全地从任何格式的任何来源获取数据,并实时搜索、分析和可视化。 1 Elasticsearch elasticsearch是一个高可扩展的、开源的、全文本搜索和分析的引擎 。它能够近乎实时地存储,检索和分析大量数据,通常用作底层引擎/技术,为具有复杂搜索特性和需求的应用程序提供动力。 elasticsearch的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。 1.1节点和集群 elasticsearch 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 elasticsearch 实例。 单个 elasticsearch 实例称为一个节点(node)。一组节点构成一个集群(cluster) 。 1.2索引(Index) elasticsearch 会索引所有字段

springboot logback-spring日志配置

十年热恋 提交于 2020-02-16 02:52:51
<?xml version="1.0" encoding="UTF-8"?> <!--配置一天一个日志文件,info信息存在一个文件中,error信息存在一个文件中--> <configuration> <!--日志文件输出路径--> <property name="LOG_HOME" value="./logs"/> <!--配置控制台打印信息--> <appender name="ConsoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern> %d [%thread] %-5level %logger{36} - %msg%n </pattern> </layout> </appender> <!--配置info文件--> <appender name="InfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <charset>UTF-8</charset> <pattern> %d [

spring boot日志配置

梦想与她 提交于 2020-02-15 06:40:44
spring boot的application.properties提供了日志的配置,但我还是习惯于老的logback的使用方式。以下内容介绍如何在springboot中使用自定义的logback。 1、在src/main/resources目录下创建logback.xml文件,内容如下: <!-- Logback configuration. See http://logback.qos.ch/manual/index.html --> <configuration scan="true" scanPeriod="10 seconds"> <include resource="org/springframework/boot/logging/logback/base.xml" /> <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${LOG_PATH}/info.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_PATH}/info-%d{yyyyMMdd}.log.%i <

logback使用filter过滤日志输出

眉间皱痕 提交于 2020-02-13 17:34:12
logback使用<filter>过滤日志输出 <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一。返回DENY,日志将立即被抛弃不再经过其他过滤器;返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;返回ACCEPT,日志会被立即处理,不再经过剩余过滤器。 过滤器被添加到 <Appender> 中,为 <Appender> 添加一个或多个过滤器后,可以用任意条件对日志进行过滤。 <Appender> 有多个过滤器时,按照配置顺序执行。 下面是几个常用的过滤器: LevelFilter: 级别过滤器,根据日志级别进行过滤。如果日志级别等于配置级别,过滤器会根据onMath 和 onMismatch接收或拒绝日志。有以下子节点: <level>:设置过滤级别 <onMatch>:用于配置符合过滤条件的操作 <onMismatch>:用于配置不符合过滤条件的操作 例如:将过滤器的日志级别配置为INFO,所有INFO级别的日志交给appender处理,非INFO级别的日志,被过滤掉。 Xml代码 <configuration> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback

SpringBoot里slf4j日志功能的默认实现

亡梦爱人 提交于 2020-02-13 13:17:56
本文是这篇教程的学习笔记: https://www.springboottutorial.com/logging-with-spring-boot-logback-slf4j-and-log4j 我有一个最简单的SpringBoot应用,其pom.xml里的依赖定义如下: 上图看到很多Starter,比如Spring-boot-starter-data-redis, Spring-boot-starter-web等等。这些Starter都包含了一个spring-boot-starter, 而这个starter又包含了一个实现logging的starter,叫做spring-boot-starter-logging. 也就是说,如果我们使用SpringBoot,无需再导入额外的配置,就能使用日志功能了。 SpringBoot slf4j的默认实现是logback,默认输出是到控制台console: As you can see the default logging framework is Logback with SLF4j as implementation. By default, all logging goes to console. 在Application.properties文件里使用logging.level.root配置项目全局的日志级别:

谈谈日志

回眸只為那壹抹淺笑 提交于 2020-02-11 11:06:51
谈谈日志: 一般而言,一个接口或者一段程序,其入口要有日志,记录传入的数据是什么; 部分重要的处理逻辑要有日志; 程序出口也要有日志,记录其最终的处理结果。 这样在解决生产上的问题时,方便定位问题。比凭空想象的好。 还有一点就是生产环境上严禁使用System.out输出,性能很低。原因是其输出会导致线程等待。 而使用Logger在输出日志时是异步的。 在记录日志时不要用+号连接日志内容 比如log.info("ddd"+abc); 而要用log.info("ddd{}",abc);这样可以减少创建的字符串对象。 一个spring boot的日志配置示例如下 <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 应用名称 --> <springProperty scope="context" name="app_name" source="spring.application.name"/> <!-- 日志文件保存路径 --> <property name="log_home" value="logs" /> <!-- 控制台日志:输出全部日志到控制台 --> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">

springBoot进阶02

守給你的承諾、 提交于 2020-02-08 23:33:05
SpringBoot 进阶 02 1. 日志的使用 1.1 基本使用 /** * 获取日志记录器 */ Logger logger = LoggerFactory.getLogger(this.getClass()); @RequestMapping("/hello") @ResponseBody public String sayHello(){ //日志级别 trace<debug<info<warn<error logger.trace("trace...."); logger.debug("debug...."); logger.info("info...."); logger.warn("warn...."); logger.error("error..."); return "hello springBoot!"; } 基本使用 1.2 yml 修改日志级别 在 application.yml 中 ( 指定到修改的包 ) # 修改日志级别 ( 默认是 info) trace<debug<info<warn<error logging: level: cn: dyier: trace 1.3 指定配置文件配置 logback.xml <?xml version="1.0" encoding="UTF-8"?> <!-- scan:当此属性设置为true时