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( ...
随机推荐
- 浏览器兼容——jquery的html()不兼容IE
在看着一个页面A,是一个弹出框,用的jquery中的ajax,然后弹出的内容是另一个Div的.而所出现的问题,是在浏览器中都有弹出框,但是只有谷歌和火狐中的弹出框中内容. 当时,我所想到的是另一个问题 ...
- .NET之美——1.1 C#中的泛型
1.1 C#中的泛型 .Net 1.1版本最受诟病的一个缺陷就是没有提供对泛型的支持.通过使用泛型,我们可以极大地提高代码的重用度,同时还可以获得强类型的支持,避免了隐式的装箱.拆箱,在一定程度上提升 ...
- excel 经验总结
1.2007版excel表格中怎么将使用字母+数字下拉排序 比如:A201110300001怎么在excel表格中往下拉的时候变成A201110300002.A201110300003…… 方法: 因 ...
- CSS基础知识——选择器
选择器 元素选择器# 文档元素为最基本的选择器 例子:div{属性:值}; 选择器分组 例子:h2,p{属性:值}; 表示符合这两种规则的元素设置相同的属性值 通配选择器 表示所有元素 类选择器 应用 ...
- WCF启用Session
1 服务类添加ASPNETSESSION兼容标记 [System.ServiceModel.Activation.AspNetCompatibilityRequirements(Requirement ...
- 五指cms内容浏览量实现方法
实现功能:文章浏览量的统计显示 实现的详细:对文章的总浏览量.当天浏览量.当周浏览量.当月浏览量进行统计 实现代码位置:coreframe/app/content/stat.php 实现的详细代码: ...
- android判断当前网络状态及跳转到设置界面
今天,想做这个跳转到网络设置界面, 刚开始用 intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS); 不料老是出现settings.Wirele ...
- C字符串和C++中string的区别 &&&&C++中int型与string型互相转换
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别: C字符串 string对象(C++) 所需的头文件名称 ...
- linux下无法安装VMware的解决方法
在Reahat下安装VMware-Player-6.0.1-1379776.x86_64.bundle,结果却提示 Extracting VMware Installer...done.NOT_REA ...
- <Araxis Merge>快速一览文件的比较与合并
重要的文件比较与合并特性在下面都指出了.对每个特性的说明性内容在下面可以找到. 注意:只有双向的比较/合并被展示了,专业版的Merge还支持三向的比较/合并. 1.文件夹比较按钮 单击这个工具栏按钮会 ...