logback

springboo 添加logback日志

感情迁移 提交于 2019-12-29 00:42:13
springboot默认引入logback相关的jar包 1、在 Application.properties里添加 logging.config=classpath:logback-spring.xml 注:当文件名为logback-spring.xml时 不需要配置logging.config logback日志基础配置可以 参照官方 <?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/base.xml" /> <logger name="sample.logback" level="DEBUG" /> <springProfile name="staging"> <logger name="sample.logback" level="TRACE" /> </springProfile> </configuration> "sample.logback"是包名 logback-spring.xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot

logback如何配置springboot框架

梦想与她 提交于 2019-12-29 00:41:12
创建logback-spring.xm在src/main/resources下面(springboot推荐使用logback-spring.xml而不是logback.xml)文件。 logback-spring.xml文件例子: 以下是一个logback-spring.xml的例子,可以直接复制使用 <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true"> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <property name="LOG_NAME" value="/home"></property> <!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,,,, --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!--<pattern>%d %p (%file:%line\)- %m%n</pattern>--> <!--格式化输出:%d:表示日期 %thread:表示线程名 %-5level:级别从左显示5个字符宽度 %msg:日志消息 %n:是换行符--> <pattern>1-%d{yyyy-MM-dd HH:mm:ss}

springboot项目log4j2启动报错 Logback configuration error detected

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-29 00:39:43
1 pom.xml增加配置: <!-- 引入log4j2依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> 2 配置文件xxx.properties添加log4j2的配置 logging.config=classpath:log4j2.xml 错误提示 java.lang.IllegalStateException: Logback configuration error detected: ....省略1W字母 上面的pom文件是最初报错时的配置文件,看上面的配置文件貌似没有问题,我们需使用log4j2日志的starter也已经引入了,但是这里我们需要注意一点就是我们在引入spring-boot-starter-web包的时候他里面默认使用了logback日志,这样就会产生日志包的冲突,其实不只是starter-web包默认引入的logback还有很多的包默认引入的logback包,看下图 上图中是这个pom文件的jiar包结构示意图,log4j2部分就是我们新引入的spring-boot-starter-log4j2包

logback.xml配置

泪湿孤枕 提交于 2019-12-29 00:36:32
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="3 seconds"> <!-- 定义变量 --> <if condition='p("os.name").contains("Windows")'> <then> <property name="LOG_PATH" value="c:/logs" /> </then> </if> <if condition='p("os.name").contains("Linux")'> <then> <property name="LOG_PATH" value="logs" /> </then> </if> <property name="APP_NAME" value="study" /> <property name="LOG_ROOT_LEVEL" value="debug" /> <property name="maxHistory" value="30" /> <contextName>${APP_NAME}</contextName> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern> <!--

logback-spring.xml样例

心不动则不痛 提交于 2019-12-29 00:33:20
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 --> <property name="LOG_HOME" value="C:\\Users\\xxx\\Desktop\\sbhwlogs" /> <property name="FORMAT" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level%logger{10} - %msg%n" /> <property name="RollingFileNamePattern" value="${LOG_HOME}/sbhw.log.%d{yyyy-MM-dd}.gz" /> <property name="RollingMaxHistory" value="2" /> <property name="RollingCurrentFile" value="${LOG_HOME}/sbhw.log" /> <!-- 控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos

logback-spring.xml配置文件详解

戏子无情 提交于 2019-12-29 00:31:16
logback-spring.xml配置文件 自己改下 value="G:/logs/pmp" 这个值,如果你相关依赖弄好的话,直接复制粘贴即用 输出的日志文件的名称最好也改下,下文中 <file>${log.path}/web_info.log</file> 是因为我这个模块就叫web,要改的话,一个appender改两处 集成到springboot的yml格式配置文件的示例: logging: config: classpath:logback-spring.xml level: dao: debug org: mybatis: debug 下面是具体logback配置: <?xml version="1.0" encoding="UTF-8"?> <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 --> <!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true --> <!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。 当scan为true时,此属性生效。默认的时间间隔为1分钟。 --> <!-- debug:当此属性设置为true时

一条日志引发的悲剧

≡放荡痞女 提交于 2019-12-29 00:26:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 这几天使用方突然抱怨说接口A比较慢.为了排查这个问题,就有下面有意思的事情.我尽量把和公司相关的业务去掉,抽离出问题模型. 1.查找慢接口 因为我们自己记录每个接口的请求日志,日志里面最重要的一个指标就是RT时间,通过筛选发现不单单接口A有问题,接口B,C,D...等都慢。而且慢的时间有点离谱。拿到这些慢接口的RT时间和请求时间。 发现一个规律大部分请求时间都是在 00:00 - 00:05这个五分钟之内发生的。 2.查看APM信息 找到这些慢接口以后,查看这个时间段的APM信息发现,无慢SQL,CPU使用不到30%,堆内存使用正常,Gc日志正常。 3. “大脑宕机了” 有慢接口但各种监控信息都正常。下面就是自我的否定 是否有job? 和使用方沟通他们一直有job,如果有代码的问题,那么应该早就出现问题了(貌似正确) 是否因为流量太大?因为前面的有负载,请求量都差不多,这条路也没法走下去了 CPU,Gc,内存都正常,那线程呢?是否有死锁?线程使用正常,也没找到死锁日志 通过上面的分析,自己没什么思路了,然后就拿着其中一个最慢的接口里面的详细日志,求助网友了,网友给出的意见基本上也是上面分析的,眼看没有有意义的思路,就想放弃的时候, 突然发现一个比较诡异的问题,该接口从请求进来到真正执行业务逻辑

Spring Boot日志管理

孤人 提交于 2019-12-27 21:45:16
  SpringBoot内部使用Commons Logging来记录日志,但是默认也提供了对常用日志组件的支持,如:Log4j,Logback等。每种Logger都可以通过配置使用控制台或者文件输出日志内容。 日志格式化   默认的日志输出如下: 2018-03-26 20:45:33.595 INFO 2927 --- [ main] com.ysl.Application : Starting Application on master with PID 2927 (/home/workspace/springboottest/target/classes started by ysl in /home/workspace/springboottest) 输出内容元素具体如下:   时间日期-精确到毫秒   日志级别-ERROR, WARN, INFO, DEBUG or TRACE   进程ID   分隔符 — --- 标识实际日志的开始   线程名 — 方括号括起来(可能会截断控制台输出)   Logger名 — 通常使用源代码的类名   日志内容 控制台输出   在Spring Boot中默认配置了 ERROR 、 WARN 和 INFO 级别的日志输出到控制台。我们可以通过两种方式切换至 DEBUG 级别:   在运行命令后加入 --debug 标志,如: $ java

Java日志框架(Commons-logging,SLF4j,Log4j,Logback)

岁酱吖の 提交于 2019-12-27 04:06:01
简介 在系统开发中,日志是很重要的一个环节,日志写得好对于我们开发调试,线上问题追踪等都有很大的帮助。但记日志并不是简单的输出信息,需要考虑很多问题,比如日志输出的速度,日志输出对于系统内存,CPU的影响等,为此,出现了很多日志框架,以帮助开发者解决这些问题。 java中的常用日志框架 比较常用的有Log4j,SLF4j,Commons-logging,logback。当然,JDK本身也提供了java.util.logging包来提供对日志的支持。 Commons-loggin :是apache最早提供的日志的门面接口。它的主要作用是提供一个日志门面,使用者可以使用不同的日志实现。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。common-logging内部有一个Simple logger的简单实现,但是功能很弱。 SLF4j :是Simple Logging Facade for Java的简称,即java的简单日志门面。类似于Apache Common-Logging,是对不同日志框架提供的一个门面封装,可以在部署的时候不修改任何配置即可接入一种日志实现方案。但是,他在编译时静态绑定真正的Log库。使用SLF4J时,如果你需要使用某一种日志实现

springboot的第一节课

ぃ、小莉子 提交于 2019-12-27 03:55:11
快速开始 spring boot应用 官方向导搭建 boot应用 地址: http://start.spring.io/ 设置项目属性:    3.解压,拷贝到工作空间,导入 maven项目 4.写 Controller: HelloController.java 5.启动 Spring Boot入口类:DemoApplication 普通 maven工程搭建boot应用 1.新建一个普通的 maven工程,选择quickstart 【注意: Spring boot是web工程,但是我们这里只需要建立quickstart即可,因为spring boot内嵌了servlert容器】 2.查看官方文档: https://projects.spring.io/spring-boot/ 点击quick start 选择版本【 1.5.10.RELEASE】,建议: 生产环境中选择稳定的版本 拷贝依赖的父 pom到自己的工程pom文件中: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> </parent> <dependencies> <dependency>