slf4j

Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on

时光毁灭记忆、已成空白 提交于 2020-02-27 18:11:33
出现这个问题是由于日志包的冲突问题,试了很多次 找到了解决方法,但不明白原理。 就是把下面这段代码往依赖包里面放,一个个依赖试,结果问题解决了 <!--解决log4j与slf4j包之间的冲突--> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> 来源: oschina 链接: https://my.oschina.net/u/2511906/blog/3176151

蚂蚁金服研发框架日志隔离解析 | SOFABoot 框架剖析

冷暖自知 提交于 2020-02-27 13:27:16
SOFA Stack( S calable O pen F inancial A rchitecture Stack)是蚂蚁金服自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 本文为《剖析 | SOFABoot 框架》第二篇,本篇作者阮仁照,来自遨游酒店信息技术。《剖析 | SOFABoot 框架》系列由 SOFA 团队和源码爱好者们出品,项目代号: SOFA:BootLab/ ,文章尾部有参与方式,欢迎同样对源码热情的你加入。 SOFABoot 是蚂蚁金服开源的基于 SpringBoot 的研发框架,提供了诸如 Readiness Check、类隔离、日志空间隔离等能力,用于快速、敏捷地开发 Spring 应用程序,特别适合构建微服务系统。 本文将从 Java 的日志体系谈起,对 JCL、SLF4J 两个经典的日志框架做一个阐述,引出 SOFABoot 开源的日志隔离框架 sofa-common-tools ,并且有实战 Demo,能够帮助我们快速上手和了解这款框架的使用和作用,最后从源码角度对其进行分析,不仅知其然,还要知其所以然。 SOFABoot : https://gitee.com/sofastack/sofa-boot sofa-common-tools : https://gitee.com

Spring Boot(一):入门篇

柔情痞子 提交于 2020-02-27 12:42:09
一、什么是Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。 1、简化spring应用开发的一个框架; 2、spring技术栈的一个大整合; 3、J2EE开发的一站式解决方案; 二、使用Spring Boot有什么好处 其实就是简单、快速、方便! 平时如果我们需要搭建一个Spring Web项目的时候需要怎么做呢? 配置web.xml,加载spring和springMVC 配置数据库连接、配置spring事务 配置加载配置文件的读取,开启注解 配置日志文件 ... 配置完成之后部署Tomcat调试 ... 现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍! 但是如果使用 Spring Boot 呢? 很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套 Web 项目或者是构建一个微服务! 使用 Spring Boot 到底有多爽,用下面这幅图来表达

Log4j2-Kafka日志传输方案

懵懂的女人 提交于 2020-02-27 10:23:05
Log4j2-Kafka日志Kafka传输方案 今天我们来介绍一下Log4j2与Kafka的集成日志解决方案。log4j2记录的日志可以直接传输给kafka,然后可以再输入到 elastic-search ,或者使用其他方式处理。 日志组件简介 熟悉Java开发的都知道,我们的日志组件的演变过程是:log4j->logback->log4j2 这里我们先简单介绍一下日志组件 日志接口:slf4j slf4j 是针对不同的日志框架的统一的抽象接口,我们可以看一下官网的介绍: The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks, such as java.util.logging, logback and log4j. SLF4J allows the end-user to plug in the desired logging framework at deployment time. Note that SLF4J-enabling your library/application implies the addition of only a single mandatory dependency,

0104 代码方式动态刷新logback日志配置

时间秒杀一切 提交于 2020-02-27 03:06:05
0104 代码方式刷新logback日志配置 背景 日志是一个系统或者说一个产品技术架构中重要组成部分。 常见的日志框架如下: 日志框架 说明 跟slf4j集成所需依赖 slf4j 日志门面,具体实现由程序决定 jcl commons-logging <br />jcl-over-slf4j jul jdk-logging slf4j-api<br />jul-to-slf4j<br />slf4j-jdk14 log4j log4j slf4j-api<br />log4j-over-slf4j<br />slf4j-log4j12 log4j2 log4j-api,log4j-core slf4j-api<br />log4j-slf4j-impl logback logback-core,logback-classic slf4j-api slf4j-logback的启动过程 一般使用slf4j来操作日志: private static final Logger LOGGER = LoggerFactory.getLogger(LogbackAppenderExample.class); public static void main(String[] args) { LOGGER.trace("trace log"); LOGGER.debug("debug log");

SSM整合基本架构

試著忘記壹切 提交于 2020-02-26 22:26:05
一. 项目准备 01-需求 02-数据库脚本 create database ssm; create table account( id int primary key auto_increment, name varchar(100), money double(7,2), ); INSERT INTO account(NAME,money)VALUES("小雪",1000); INSERT INTO account(NAME,money)VALUES("丽丽",1000); 03-项目结构 04-Maven依赖 pom.xml文件中添加依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.9</maven.compiler.source> <maven.compiler.target>1.9</maven.compiler.target> <spring.version>5.2.3.RELEASE</spring.version> <slf4j.version>1.6.6</slf4j.version> <log4j.version>1.2.12</log4j.version> <mybatis.version>3.4

性能测试框架第三版

旧巷老猫 提交于 2020-02-26 07:32:09
本次主要更新了标记、记录功能,以及初始化连接池的方法。 具体实现请参考之前的文章: 性能测试中标记每个请求 、 如何性能测试中进行业务验证 、 如何在匿名thread子类中保证线程安全 、- 性能测试中记录每一个耗时请求 。 这两天又做了一些优化。主要方向还是将标记 mark 功能放到 threadbase 中,将 mark 方法的参数类型由 httprequestbase 变成 threadbase ,把原来有 request 并发实现类中实现的带有标记的 run() 方法,改到有两种模式虚拟类 ThreadLimitTimesCount 和 ThreadLimitTimeCount 中实现,放弃了实现类中再重写 run() 方法,避免了重写可能导致的BUG(的确出现了)。还有一个方向就是标记保存的优化,思路与上一个方向相同,在线程安全的情况下记录保存被标记的 threadbase 内容,主要是体现在 after() 方法中,避免以后的实现类保存格式不统一的问题。还有一个就是放弃了深拷贝的方式复制线程,因为坑比较大,在遇到类似 httprequestbase 这种不支持深拷贝对象的时候显得尤其麻烦。 下面分享``代码: package com.fun.base.constaint; import com.fun.base.interfaces.MarkThread; import

springboot经验之sql注入、xss注入拦截(POST)

强颜欢笑 提交于 2020-02-26 06:35:40
简介 sql注入、xss注入、cors攻击的简介以及解决方案,可以参考下面链接: https://blog.csdn.net/yhhyhhyhhyhh/article/details/84504487 这里我就不做的的介绍了,解决sql注入根本方案在于使用预编译而不是拼接sql, 而通常拦截参数都只有针对GET方法,下面介绍下POST方法 POST防注入方案 1、增加httprequest包装类 import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; import java.util.regex.Pattern; import javax.servlet.ReadListener; import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import lombok.extern.slf4j.Slf4j; import

Logging in Clojure

心已入冬 提交于 2020-02-26 05:38:34
问题 For Java development, I use Slf4j and Logback. Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.debug("Hello world."); How to use these two libs in Clojure programs? Majority of Clojure programming doesn't has .class concept (possible of course via AOT). What do you use for logging in Clojure? 回答1: Clojure comes with a logging core library in tools.logging . Add [org.clojure/tools.logging "0.2.3"] to your leiningen project.clj and run $lein deps as usual. Once you use the

Logging in Clojure

↘锁芯ラ 提交于 2020-02-26 05:38:11
问题 For Java development, I use Slf4j and Logback. Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.debug("Hello world."); How to use these two libs in Clojure programs? Majority of Clojure programming doesn't has .class concept (possible of course via AOT). What do you use for logging in Clojure? 回答1: Clojure comes with a logging core library in tools.logging . Add [org.clojure/tools.logging "0.2.3"] to your leiningen project.clj and run $lein deps as usual. Once you use the