- 浏览: 375794 次
- 性别:
- 来自: 四川
文章分类
- 全部博客 (247)
- 数据库以及sql (11)
- java (48)
- 爬虫学习 (20)
- java编程 (28)
- python编程以及安装和配置 (27)
- oracle数据库 (32)
- mongodb基本操作 (4)
- linux学习 (7)
- easyUI (2)
- nodeJs (8)
- python学习 (16)
- 其他 (13)
- hadoop (1)
- svn (1)
- 汉字 (1)
- windows (2)
- jsp (5)
- fiddler (1)
- ETL (1)
- teamviewer (1)
- maven (4)
- GIT (2)
- datagrip (1)
- ocr (1)
- redis (3)
- mysql (3)
- linux (1)
- 数据服务 (0)
最新评论
slf4j使用:
http://www.tuicool.com/articles/IfeUfq
注意jar版本对应
SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算用那个具体的日志系统。只需要在项目中加入定的slf4j-logo.jar包就可以。这个和Spring的IOC思想有点像,想用哪个就用哪个,随意切换。
使用slf4j这种记录日志的方式的特点很明显:1、如果我们需要记录的是底层类库或者组件这种东西,就可以不影响或强制要求用户选择哪种日志系统。2、如果我们用特定的日志系统写了代码,但是有一天要求换另一种日志系统,如果之前就用slf4j的api写的,那就很简单,但是如果用具体的一种方式写了以后,那在切换就很麻烦。
在代码中的使用示例:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Slf4jTest {
// 首先获得日志记录这个对象
static private Logger logger = LoggerFactory.getLogger(Slf4jTest.class);
public static void main(String[] args) {
// 记录error信息
logger.error("[info message]");
// 记录info,还可以传入参数
logger.info("[info message]{},{},{},{}", "abc", false, 123,new Slf4jTest());
// 记录deubg信息
logger.debug("[debug message]");
// 记录trace信息
logger.trace("[trace message]");
System.out.println("hello world");
}
}
具体使用哪种日志系统,这个可以随意切换,演示如下:
1、使用slf4j的simple日志系统:
在classpath中加入:slf4j-simple.jar,运行程序输入如下:
[main] ERROR com.swu.gusi.Slf4jTest - [info message]
[main] INFO com.swu.gusi.Slf4jTest - [info message]abc,false,123,com.swu.gusi.Slf4jTest@503f0b70
hello world
2、切换成jdk的日志系统:
在classpath中将 slf4j-logo.jar 换成slf4j-jdk.jar,运行程序如下:
九月 20, 2014 12:33:52 下午 com.swu.gusi.Slf4jTest main
严重: [info message]
九月 20, 2014 12:33:52 下午 com.swu.gusi.Slf4jTest main
信息: [info message]abc,false,123,com.swu.gusi.Slf4jTest@400da341
hello world
3、切换成log4j的日志系统:
在classpath中将slf4j-logo.jar换成slf4j-log4j.jar,注意这在使用log4j的时候,需要自己配置log4j.properites文件或者log4j.xml。至于log4j的使用查阅其他文档。
4、切换成其他的日志系统和上面相同。
5、如果classpath中有多种日志系统,会怎么样呢。会提示类似如下信息(最好别这样搞):
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/E:/Repository/org/slf4j/slf4j-simple/1.7.7/slf4j-simple-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/E:/Repository/org/slf4j/slf4j-jdk14/1.7.7/slf4j-jdk14-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
[main] ERROR com.swu.gusi.Slf4jTest - [info message]
[main] INFO com.swu.gusi.Slf4jTest - [info message]abc,false,123,com.swu.gusi.Slf4jTest@10e80317
hello world
http://www.tuicool.com/articles/IfeUfq
注意jar版本对应
SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算用那个具体的日志系统。只需要在项目中加入定的slf4j-logo.jar包就可以。这个和Spring的IOC思想有点像,想用哪个就用哪个,随意切换。
使用slf4j这种记录日志的方式的特点很明显:1、如果我们需要记录的是底层类库或者组件这种东西,就可以不影响或强制要求用户选择哪种日志系统。2、如果我们用特定的日志系统写了代码,但是有一天要求换另一种日志系统,如果之前就用slf4j的api写的,那就很简单,但是如果用具体的一种方式写了以后,那在切换就很麻烦。
在代码中的使用示例:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Slf4jTest {
// 首先获得日志记录这个对象
static private Logger logger = LoggerFactory.getLogger(Slf4jTest.class);
public static void main(String[] args) {
// 记录error信息
logger.error("[info message]");
// 记录info,还可以传入参数
logger.info("[info message]{},{},{},{}", "abc", false, 123,new Slf4jTest());
// 记录deubg信息
logger.debug("[debug message]");
// 记录trace信息
logger.trace("[trace message]");
System.out.println("hello world");
}
}
具体使用哪种日志系统,这个可以随意切换,演示如下:
1、使用slf4j的simple日志系统:
在classpath中加入:slf4j-simple.jar,运行程序输入如下:
[main] ERROR com.swu.gusi.Slf4jTest - [info message]
[main] INFO com.swu.gusi.Slf4jTest - [info message]abc,false,123,com.swu.gusi.Slf4jTest@503f0b70
hello world
2、切换成jdk的日志系统:
在classpath中将 slf4j-logo.jar 换成slf4j-jdk.jar,运行程序如下:
九月 20, 2014 12:33:52 下午 com.swu.gusi.Slf4jTest main
严重: [info message]
九月 20, 2014 12:33:52 下午 com.swu.gusi.Slf4jTest main
信息: [info message]abc,false,123,com.swu.gusi.Slf4jTest@400da341
hello world
3、切换成log4j的日志系统:
在classpath中将slf4j-logo.jar换成slf4j-log4j.jar,注意这在使用log4j的时候,需要自己配置log4j.properites文件或者log4j.xml。至于log4j的使用查阅其他文档。
4、切换成其他的日志系统和上面相同。
5、如果classpath中有多种日志系统,会怎么样呢。会提示类似如下信息(最好别这样搞):
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/E:/Repository/org/slf4j/slf4j-simple/1.7.7/slf4j-simple-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/E:/Repository/org/slf4j/slf4j-jdk14/1.7.7/slf4j-jdk14-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
[main] ERROR com.swu.gusi.Slf4jTest - [info message]
[main] INFO com.swu.gusi.Slf4jTest - [info message]abc,false,123,com.swu.gusi.Slf4jTest@10e80317
hello world
发表评论
-
java字符串 与 ASCII码相互转换
2018-09-12 14:32 10293public class stringToAscii { p ... -
java根据url下载附件源码
2017-04-18 10:37 718public static void runDownLoad( ... -
解决553 authentication is required 错误
2017-04-12 09:46 3573//获取系统属性 Properties pro = Sys ... -
java序列化和反序列化 以及transient的含义
2017-04-11 15:31 703=============================== ... -
ajax跨源解决办法(jsonp)
2017-04-11 10:39 470<!DOCTYPE html PUBLIC " ... -
socket知识
2017-04-11 10:29 471网络应用: socket java: socket类 1. ... -
URL的常用方法和获取网页数据实例
2017-04-10 11:23 617=============================== ... -
tomcat发布Java项目的两种方式
2017-04-06 15:19 365部署tomcat项目有两种方式: 方法一是在eclipse中启 ... -
HashSet,TreeSet和LinkedHashSet的区别
2017-04-06 10:10 413原文:http://www.cnblogs.com ... -
java中map排序(SortedMap的用法)
2017-04-06 09:47 2113package JavaSenior; import jav ... -
java遍历list和map集合
2017-04-06 09:18 1292package JavaSenior; import jav ... -
在Eclipse中使用Axis2插件自动生成WSDL文件
2017-03-30 16:48 1039原文:http://blog.csdn.net/a198810 ... -
java模拟浏览器抓取网站信息和下载附件
2017-03-30 09:46 1649package com.teamdev.jxbrowser.c ... -
window_根据进程号关闭进程
2017-03-29 11:22 559netstat -ano | findstr 80 //列出进 ... -
java代码关闭指定进程
2017-03-28 17:07 1244//window下 public static void m ... -
eclipse配置webservice
2017-03-28 14:19 526引用:http://www.cnblogs.com/xwdre ... -
java遍历list和map的几种方式
2017-03-24 17:06 1019package JavaSenior; import jav ... -
java多态的优点和存在的必要条件
2017-03-24 14:46 1347/** 多态的优点: 1. 消除类型之间的耦合关系 ... -
java 目录创建,遍历与删除
2017-03-24 10:56 529package JavaAdvanced; import j ... -
java输入输出流
2017-03-24 10:15 640package JavaAdvanced; //Java 流( ...
相关推荐
SLF4J支持自定义日志输出格式,例如使用PatternLayout在Log4j中配置 `%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n`,输出日期、优先级、类名、行号和消息。 **7. 异常处理** SLF4J允许直接传递异常对象给日志...
SLF4J(Simple Logging Facade for Java)是Java中一个用于日志记录的抽象层,它提供了一种标准的日志记录接口,使得开发者可以选择不同的日志实现框架,如Log4j、Logback等。MongoDB则是一个流行的NoSQL数据库系统...
Springboot 项目使用 Slf4j 将日志保存到本地目录的实现代码 Slf4j 是一个 Java 日志记录门面,它提供了一个通用的日志记录API,允许开发者使用不同的日志记录框架,例如 Logback、Log4j 等。在 Springboot 项目中...
在使用SLF4J之前,首先需要在项目的类路径中包含SLF4J的API jar包以及一个具体的日志实现库,例如Logback或Log4j。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <!-- SLF4J API --> <groupId>...
使用Slf4j集成Log4j2构建项目日志系统的完美解决方案 Slf4j是简单的日志外观(Facade)模式,它提供了统一的日志接口,使得用户可以选择不同的日志实现。Slf4j的出现使得日志系统的开发变得更加灵活和便捷。Log4j2...
"logback-slf4j日志配置文件下载即可使用" logback-slf4j是Java领域中一种常用的日志记录解决方案,它通过结合slf4j(Simple Logging Facade for Java)来提供了异步日志输出的功能,能够将日志输出到不同的文件中...
SLF4J(Simple Logging Facade for Java)是一个用于Java编程语言的日志门面框架,它提供了一个简单的抽象层,用以使用各种日志框架,例如java.util.logging、logback和log4j。门面模式的好处在于,开发者可以在不同...
5. **NoBinding**: 如果没有找到合适的日志实现,SLF4J会使用一个名为NoBinding的日志绑定,它会在控制台输出警告信息,提醒用户未正确配置日志实现。 SLF4J源码中值得关注的部分包括: 1. **Logger接口**: 定义了...
slf4j-log4j12-1.7.x版本是SLF4J针对Log4j 1.2版本的绑定器,它使得应用可以使用SLF4J接口,但实际的日志输出通过Log4j进行。这个桥接器让项目能利用SLF4J的灵活性,同时使用Log4j的成熟实现。 在提供的文件名列表...
4. **编写日志代码**:在Java代码中,使用SLF4J的LoggerFactory获取Logger对象,然后调用相应级别的方法记录日志。 **日志框架的比较:** 1. **Log4j**:老牌的日志框架,功能强大,但配置相对复杂。SLF4J的一个...
标题中的"slf4j-log4j12-1.7.12.jar"是SLF4J的一个绑定包,它的作用是将SLF4J API与log4j日志框架连接起来。具体来说,这个版本(1.7.12)的绑定包实现了SLF4J的API,并将其桥接到log4j的实现上,使得开发者可以通过...
处理slf4j日志使用的基本错误,导入三个包,分别是slf4j-impl,slf4j-api和slf4j-log4j12
**Slf4j日志框架详解** Slf4j(Simple Logging Facade for Java)是一个用于日志系统的简单 facade,它允许最终用户在部署他们的应用时使用他们希望的日志库。Slf4j提供了一个统一的API,使得开发人员能够在不更换...
在某些场景下,比如测试环境中,你可能希望避免日志带来的额外开销,此时使用slf4j-nop.jar就非常合适。 标签"slf4j"直接指出了这个压缩包的主题,它是与SLF4J相关的资源。 压缩包内的文件名称列表中,"slf4j-api-...
3. `slf4j-log4j12-1.6.6.jar`:此文件是Slf4j与Log4j之间的适配器,允许Slf4j的日志调用被Log4j日志系统处理。Log4j是一款功能强大的日志框架,提供丰富的配置选项和多种日志输出方式,如文件、控制台、SMTP邮件等...
- **可移植性**: 使用SLF4J,开发者可以在不修改代码的情况下更换日志框架,只需更改依赖的JAR文件即可。 - **灵活性**: SLF4J允许动态配置日志实现,可以根据运行环境的需要选择合适的日志系统。 - **无侵入性**: ...
`slf4j-log4j12-1.7.12.jar` 文件是SLF4J的一个绑定实现,它将SLF4J接口绑定到Log4j日志系统。这意味着,当你在项目中引入这个JAR,SLF4J的日志调用会通过这个绑定转发到Log4j进行处理。Log4j是Apache的一个开源项目...
今天,我们将讨论如何将 Log4j2 结合 Slf4j 配置使用,以便更好地记录和管理日志。 首先,我们需要下载 Log4j2 和 Slf4j 的 jar 文件。Log4j2 的下载地址是 http://logging.apache.org/log4j/2.x/download.html,...
本文将深入探讨“日志4j(Log4j)、SLF4J(Simple Logging Facade for Java)和logback 1.3.0”这三者之间的关系以及它们在Java应用中的作用。 首先,Log4j是Apache软件基金会开发的一个流行的日志记录框架,它允许...
描述中的"slf4j_and_slf4j_simple.png"可能展示了如何使用SLF4J最基础的功能,而"slf4j_and_slf4j_jdk.png"可能涉及了如何将SLF4J与Java内置日志系统集成。"slf4j_and_slf4j-log4j.png"则可能演示了如何配置SLF4J与...