log4j

log4j2单独文件日志打印配置

和自甴很熟 提交于 2020-10-30 05:52:07
1、创建一个单独的Appender <RollingFile name="TESTLOG" fileName="${LOG_PATH}/test_error.log" filePattern="${LOG_PATH}/test_error-%d{yyyyMMdd}-%i.log.gz"> <PatternLayout pattern="%d{yyyy/MM/dd HH:mm:ss.SSS} %t [%p] %c{1} (%F:%L) %msg%n" /> <Filters> <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/> </Filters> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="256MB"/> </Policies> <DefaultRolloverStrategy> <Delete basePath="${LOG_PATH}" maxDepth="2"> <IfFileName glob="test_error-*.log.gz" /> <IfLastModified age="3d" /> </Delete> <

mybatis环境配置与入门例子

余生长醉 提交于 2020-10-28 19:22:40
1、jar包的导入 mybatis需要jar包:mybatis-3.4.6.jar mysql驱动jar包:mysql-connector-java-5.1.34.-bin.jar 日志记录jar包:log4j-1.2.17.jar 2、创建数据库并创建表(mysql) 注意数据库表字段命名的规范 3、添加日志配置文件(log4j.properties) # Configure logging for testing: optionally with log file log4j.rootLogger=WARN, stdout # log4j.rootLogger=WARN, stdout, logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=target/spring.log log4j

springboot 配置 P6spy

可紊 提交于 2020-10-25 03:56:05
最近在使用springboot配置sql打印信息时,玩了玩 P6spy,感觉还不错,可以很方便的查找sql语句的错误,能快速地定位到相应的语句,配置后的打印信息为: 2020-09-20 11:47:34.539 INFO 343736 --- [nio-8888-exec-2] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 11:47:34,583|24|statement|connection 0|url jdbc:p6spy:mysql://localhost:3306/hah|SELECT * FROM user|SELECT * FROM user 11:48:06,624|1|statement|connection 0|url jdbc:p6spy:mysql://localhost:3306/hah|SELECT * FROM user|SELECT * FROM user P6spy相关的jar包及配置文件在文章末尾 ,接下来就对配置步骤进行讲解: 第一步:配置pom.xml文件 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>3.8.7</version> <

log4j:WARN No appenders could be found for logger ().解决方案

萝らか妹 提交于 2020-10-24 13:28:13
log4j:WARN No appenders could be found for logger ().解决方案 参考文章: (1)log4j:WARN No appenders could be found for logger ().解决方案 (2)https://www.cnblogs.com/telwanggs/p/10855194.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4362330/blog/4687165

给日志打标签,让你的日志定位再无困难

坚强是说给别人听的谎言 提交于 2020-10-23 21:32:49
背景 不知道各位在生产日志中定位问题时有没有碰到这样的场景:由于coding的时候日志输出的比较少,出现问题时,很难通过日志去定位到问题。又或者是,你明明coding的时候有输出日志。但是在庞大的日志文件中,由于业务线程并发比较多,你输出的日志又没有加关键信息。你也很难定位到你所需要的日志信息。 之前在公司里写业务代码时,为了使每个RPC调用能被日志记录下来,我们在公司基础组件里定义了一个切面,拦截所有的RPC调用,方法开始之前,在日志里输出调用的服务和方法以及参数,方法结束时输出方法的耗时。我相信很多人也是这么做的。 这样一来 ,所有的调用都能通过参数里的关键信息被搜索到。也能定位到调用是什么结束的以及耗时。 但是在有些业务方法中,也打上了很多的业务日志。由于核心业务的tps和qps很高,日志是互相穿插的。如果你的日志没有打上关键的业务信息(比如订单号,业务ID),那就很难在日志中被定位出来。 也许有些童鞋会说,用线程号呀。通过搜索业务ID定位到调用开始的地方,再搜索这条线程的线程号,就可以定位整个请求的所有日志。其实之前我也是这么干的,但是线程一般都是由线程池进行管理的,在tps很高的业务中,同一个线程号有可能短时间会出现多次,但是却是不同的请求。而且业务方法中可能也会有异步线程,导致了线程号会变。这样对于定位日志就又增加了难度。当然最后可以通过对时间戳的分析

PBFT算法java实现(上)

百般思念 提交于 2020-10-23 02:46:21
PBFT 算法的java实现(上) 在这篇博客中,我会通过Java 去实现PBFT中结点的加入,以及认证。其中使用socket实现网络信息传输。 关于PBFT算法的一些介绍,大家可以去看一看网上的博客,也可以参考我的上上一篇 博客 ,关于怎么构建P2P网络可以参考我的上一篇 博客 。 该项目的地址: GitHub 使用前的准备 使用maven构建项目,当然,也可以不使用,这个就看自己的想法吧。 需要使用到的Java包: t-io:使用t-io进行网络socket通信,emm,这个框架的文档需要收费(699RMB),但是这里我们只是简单的使用,不需要使用到其中很复杂的功能。 fastjson:Json 数据解析 lombok:快速的get,set以及toString hutool:万一要用到呢? lombok:节省代码 log4j:日志 guava:Google的一些并发包 结点的数据结构 首先的首先,我们需要来定义一下结点的数据结构。 首先是结点Node的数据结构: @Data public class Node extends NodeBasicInfo { /** * 单例设计模式 * @return */ public static Node getInstance () { return node; } private Node () {} private static

Spring Boot 2 集成log4j2日志框架

混江龙づ霸主 提交于 2020-10-22 12:58:36
前言 Log4j2 是 Log4j 的进化版本,并提供了许多 Logback 可用的改进,同时解决了 Logback 体系结构中的一些固有问题。而且日志处理中我们会用到 kafka 作为日志管道。而 kafka 客户端依赖与 Logback 的兼容不是很完美,你可以选择排除依赖冲突或者使用 Log4j2 。 排除Logback依赖 Spring Boot 2.x 默认使用 Logback 日志框架,要使用 Log4j2 必须先排除 Logback 。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <!--排除logback--> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> 引入Log4j2依赖 <!--log4j2 依赖--> <dependency> <groupId>org.springframework.boot</groupId>