目前,java下应用最广泛的日志系统主要就是两个系列: log4j和slf4j+logback . 其中,slf4j只包含日志的接口,logback只包括日志的具体实现,两者加起来才是一个完整的日志系统.Log4j则同时包含了日志接口和实现. 这两套日志系统之间有可以相互兼容的组件,分别是slf4j-log4j12和 log4j-over-slf4j,引入之后就可以用log4j打出slf4j接口的日志,或者用logback打出log4j接口的日志. 背景知识介绍到这里,再简单说一下标题里提到的问…
1.使用jps -l 查看springboot项目的进程ID 2.使用命令jstack -l 进程ID > log.txt 打印堆栈信息到文件,内容如下: "http-nio-8065-exec-4" #31 daemon prio=5 os_prio=0 tid=0x00007f40b5148000 nid=0x12f5 runnable [0x00007f407e0aa000] java.lang.Thread.State: RUNNABLE at java.util.zip…
application.yml中加上 # springBoot+Mybatis 控制台打印SQL语句 (方式一) logging: level: com.zoctan.api.mapper : debug # 配置slq打印日志 (方式二) mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 上面二选一就可以了. 效果:…
简单介绍以下几个宏: 1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持).宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉,否则会编译出错.2) __FILE__ 宏在预编译时会替换成当前的源文件名3) __LINE__宏在预编译时会替换成当前的行号4) __FUNCTION__宏在预编译时会替换成当前的函数名称 1.重新定义系统的NSLog,__OPTIM…
OC内,我们往往做log打印时,会考虑一个Debug环境下打印,Release下控制不打印,以节约性能消耗. OC我们可以这样做: 在pch文件内,定义如下: //打印日志 #ifdef DEBUG #define NSLog(...) NSLog(__VA_ARGS__) #else #define NSLog(...) #endif 在Swift内要实现同样效果,我们依然可以同理实现: 1.不同于OC,swift没有pch文件,但Swift中只要在一个文件中声明了一个公开的方法, 其他文件都…
A lesser known trick is that mod_php maps stderr to the Apache log. And, there is a stream for that, so file_put_contents('/path/to/file.log', $foo . PHP_EOL, FILE_APPEND);; will nicely dump the value of $foo into the Apache error log. 转自: http://sta…
[ 前言:整个ELK日志系统已经搭建好了,接下来的流程就是: springboot项目中的logback日志配置通过tcp传输,把springboot项目中所有日志数据传到————>logstash,再由logstash把收集来的日志数据传到——————>elasticsearch集群————————>最后由kibana展示. ] 1.准备一个springboot项目,并配置logback日志 1.1.springboot项目demo怎么创建就不写了,pom.xml要配置logback包…
最常用的4种方式,但除了这些以外,还有其他方式: ①在线创建 ②STS构建 ③Intell  Idea内置构建工具 ④Maven创建 STS官网:https://start.spring.io  .STS是Spring出的eclipse,是特殊版本的eclipse,对Spring Boot有很好的支持. eclipse也可以用来开发SpringBoot项目,但是需要安装STS插件. 方式①:在线创建 官网主页,在Quick Start中,点击超链接“start spring.io”进入https…
Springboot项目启动不了.也不打印任何日志信息. <!-- 在创建Spring Boot工程时,我们引入了spring-boot-starter,其中包含了spring-boot-starter-logging, 该依赖内容就是Spring Boot默认的日志框架Logback,所以我们在引入log4j之前,需要先排除该包的依赖, 再引入log4j的依赖 --> <dependency> <groupId>org.springframework.boot<…
前言 AOP 是 Aspect Oriented Program (面向切面)的编程的缩写.他是和面向对象编程相对的一个概念.在面向对象的编程中,我们倾向于采用封装.继承.多态等概念,将一个个的功能在对象中来实现.但是,我们在实际情况中也发现,会有另外一种需求就是一类功能在很多对象的很多方法中都有需要.例如有一些对数据库访问的方法有事务管理的需求,有很多方法中要求打印日志.按照面向对象的方式,那么这些相同的功能要在很多地方来实现或者在很多地方来调用.这就非常繁琐并且和这些和业务不相关的需求耦合太…