slf4j-api-1.7.5日志打印实验
下面一段话来自:百度百科
假设你开发的是类库或者嵌入式组件,那么就应该考虑採用SLF4J,由于不可能影响终于用户选择哪种日志系统。在还有一方面,假设是一个简单或者独立的应用,确定仅仅有一种日志系统,那么就没有使用SLF4J的必要。假设你打算将你使用log4j的产品卖给要求使用JDK 1.4 Logging的用户时,面对成千上万的log4j调用的改动,相信这绝对不是一件轻松的事情。可是假设開始便使用SLF4J,那么这样的转换将是很轻松的事情。
今天来測试一下slf4j的使用和它的魅力。
一般如今java项目都是web项目,所以我们的试验项目就採用web项目測试。
1.新建web项目slf4jdemo
2.引用jar包
这里须要注意的就是slf4j相应的log4j的版本号,的那个人你也能够选择其它的日志系统。
log4j-1.2.12.jar
servlet2.5-jsp2.1-api.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar
3.加入Log4j的配置文件Log4j.properties
这里须要说明一下,Log4j本身的默认路径是/WEB-INF/classes/文件夹下的,所以千万别放错位置了。
#log4j logger FATAL=0 ERROR=3 WARN=4 INFO=6 DEBUG=7
#log4j.rootLogger = DEBUG, a1
log4j.rootLogger = OFF
### direct log messages to stdout ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.logger.org =ERROR, a1
log4j.logger.net = ERROR, a1 log4j.logger.com.qisentech = DEBUG, a1 log4j.appender.a1 = org.apache.log4j.RollingFileAppender
log4j.appender.a1.File = ${rootPath}/webplus.log
log4j.appender.a1.MaxFileSize = 10000KB
log4j.appender.a1.MaxBackupIndex = 10
log4j.appender.a1.layout = org.apache.log4j.PatternLayout
log4j.appender.a1.layout.ConversionPattern = %d [%t](%F:%L)%c %-5p - %m%n #log4j.rootLogger=WARN, stdout
#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
细心一点看配置信息,能够看到一个${rootPath},选择我们就要初始化这个变量。
4.新建初始化Servlet
/*
* 文 件 名 : com.qisentech.slf4j.demo.WebplusContextStart.java
* 创建日期 : 2013-8-23 11:20:48
* 创 建 者 : qsyang
*/
package com.qisentech.slf4j.demo; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; /**
* <p>Title: </p>
*
* <p>Description: </p>
*
* @author qsyang
* @version 1.0
*/
public class WebplusContextStart extends HttpServlet { @Override
public void init() throws ServletException {
System.setProperty("log4j.configuration", "Log4j.properties");
String contextPath = this.getServletContext().getRealPath("/");
System.setProperty("rootPath", contextPath);
}
}
我们设置了Log4j的默认參数log4j.configuration和我们配置文件变量rootPath。
5.在类中使用slf4j打印日志
引用方式:
Logger _log = LoggerFactory.getLogger(Slf4jTest.class);
注意,这里的对象引用是:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
再看下打印方式:
_log.debug(“调试日志:XXXXX”);
附上所有源代码:
/*
* 文 件 名 : com.qisentech.slf4j.demo.Slf4jTest.java
* 创建日期 : 2013-8-23 11:02:20
* 创 建 者 : qsyang
*/
package com.qisentech.slf4j.demo; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; /**
* <p>Title: </p>
*
* <p>Description: </p>
*
* @author qsyang
* @version 1.0
*/
public class Slf4jTest { private static Logger _log = LoggerFactory.getLogger(Slf4jTest.class); public static void testDebug(String info) {
System.out.println("testDebug");
_log.debug(info);
} public static void testInfo(String info) {
System.out.println("testInfo");
_log.info(info);
} public static void testWarn(String info) {
System.out.println("testWarn");
_log.warn(info);
} public static void testError(String info) {
System.out.println("testError");
_log.error(info);
}
}
5.不要忘了配置web.xml
<!-- Webplus 环境初始化(必须启动) -->
<servlet>
<servlet-name>WebplusContextStart</servlet-name>
<servlet-class>com.qisentech.slf4j.demo.WebplusContextStart</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
这样整个就成功了。
以下将源代码下载地址附上,有兴趣能够去下载。
slf4j-api-1.7.5日志打印实验的更多相关文章
- SLF4J - 一个允许你统一日志记录API的抽象层
一.什么是SLF4J 我们在做Java开发时,如果需要记录日志,有很多日志API可供选择,如: java.util.logging Apache log4j logback SLF4J又是个什么东东呢 ...
- python 以单例模式封装logging相关api实现日志打印类
python 以单例模式封装logging相关api实现日志打印类 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7 实现功能: 支持自由配置,如下lo ...
- SpringBoot 整合 slf4j 日志打印
划水时间,记录一下用到的相关slf4j 日志打印,如何实现配置输出.本地保存log日志文件... 我使用的是SpringBoot框架,slf4j 类库已经包含到了 SpringBoot 框架中,所有, ...
- SpringBoot+logback实现日志打印
logback介绍 logback是一款开源的日志框架,内核重写了,是基于log4j基础进行改良的.其官网为logback.qos.ch.logback在性能上有很大提升,拥有更多特性. logbac ...
- slf4j+logback搭建超实用的日志管理模块
文章转自http://www.2cto.com/kf/201702/536097.html slf4j+logback搭建超实用的日志管理模块(对日志有编号管理):日志功能在服务器端再常见不过了,我们 ...
- SpringBoot2.0 基础案例(02):配置Log4j2,实现不同环境日志打印
一.Log4j2日志简介 日志打印是了解Web项目运行的最直接方式,所以在项目开发中是需要首先搭建好的环境. 1.Log4j2特点 1)核心特点 相比与其他的日志系统,log4j2丢数据这种情况少:d ...
- SpringBoot系列之集成logback实现日志打印(篇二)
SpringBoot系列之集成logback实现日志打印(篇二) 基于上篇博客SpringBoot系列之集成logback实现日志打印(篇一)之后,再写一篇博客进行补充 logback是一款开源的日志 ...
- 二:SpringBoot-配置Log4j2,实现不同环境日志打印
SpringBoot-配置Log4j2,实现不同环境日志打印 日志打印之外观模式 1.日志配置 2.Log4j2的配置文件 3.简单的测试程序 日志打印之外观模式 每一种日志框架都有自己单独的API, ...
- Java编码常见的Log日志打印问题
前言 本文总结了作者在Java代码检视中遇到的一些关于日志打印的问题,并给出修改建议.因能力有限,难免存在错漏,欢迎指正. 一. 不规范的异常打印 使用slf4j日志组件时,logger.error( ...
随机推荐
- Java之UncaughtExceptionHandler
概述: UncaughtExceptionHandler是为了捕获没有被捕获的异常,包括运行时异常,执行错误(内存溢出等),子线程抛出的异常等,你可以在uncaughtException(xx)里对后 ...
- HDU 5879 Cure
Cure Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdu 3172 Virtual Friends(并查集)University of Waterloo Local Contest 2008.09
题目比较简单,但作为长久不写题之后的热身题还是不错的. 统计每组朋友的朋友圈的大小. 如果a和b是朋友,这个朋友圈的大小为2,如果b和c也是朋友,那么a和c也是朋友,此时这个朋友圈的大小为3. 输入t ...
- [Everyday Mathematics]20150125
试求极限 $$\bex \lim_{x\to 0^+}\int_x^{2x} \frac{\sin^m t}{t^n}\rd t\quad\sex{m,n\in\bbN}. \eex$$
- Hierarchical cluster算法介绍
突然想记录几个聚类算法,由于实力有限就先介绍一下层次聚类算法(Hierarchical cluster algorithm),这个聚类算法思想简单,但实现起来感觉复杂度挺大:以前看过<集体智慧编 ...
- fedora20安装spin以及用户界面ispin
(博客园-番茄酱原创) (最近感觉用make会出现库错误,所以改进了教程,把之前的make步骤省掉了,直接下载可执行文件进行配置最简单啦...) 1.首先,下载对应版本的spin,我64位的fedor ...
- matplotlib绘制三维图
本文参考官方文档:http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html 起步 新建一个matplotlib.figure.Figure对象, ...
- Junit。。。
keep the bar green to keep the code clean.
- C++单例模板
#pragma once namespace MyGame { template<typename T> class Global { public: static void Create ...
- http协议中的Content-Type
今天对http协议中的Content-Type有所理解了 它的主要功给我的感觉,还是在前台(客户端)给服务器传输数据时,描述这个数据的格式. 比如,我只传一个表单数据,但这个表单中只有文本,没有其它的 ...