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( ...
随机推荐
- xcode升级,报错 libxml/tree.h not found (Xcode4.6解决方案)
转:http://blog.csdn.net/yangxuanlun/article/details/8639075 Xcode升级到4.6以后,他妈的,libxml/tree.h找不到了,搞了大半天 ...
- TabWidget/TabHost的两种使用方法
1.概念 盛放Tab的容器就是TabHost.TabHost的实现有两种方式: 第一种继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost.各个Tab ...
- linux中vi保存文件时的“Can't open file for writing”
今天在ubuntu 13.04环境下,使用vi新建一个文件,编辑保存时提示“Can't open file for writing”. 分析: 出现这个错误的原因可能有两个: 一是当前用户的权限不足: ...
- 基本输入输出系统BIOS---显示输出
显示器通过显示适配卡与系统相连, 显示适配卡是显示输出的接口卡,照相的显示器是CGA和EGA,目前的显示适配卡是VGA和TVGA,他们都支持两种显示方式,文本显示和图形显示 在BIOS中提供的显示I/ ...
- 【原】Storm环境搭建
2.Storm环境搭建 单机 ... 集群 ... 搭建Storm开发环境 搭建Storm开发环境主要概括为以下两步: 1.下载Storm发行稳定版,然后解压,最后把解压后的bin/文件所在目录添加到 ...
- 从零开始完整Electron桌面开发(1)搭建开发环境
[OTC] # 需要知识 1. 简单的html.javascript.css知识,就是web前端入门知识. 2. 简单命令行的应用,不会也没关系,照着代码敲就行. 3. 下载安装就不说了吧. 4. 本 ...
- 我用dedecms有感
---恢复内容开始--- 最近接了一个私单,简单的学校网站,注意,我一看上去是感觉很快,仿站,对方说这个东西你三天就能搞定啦,我也这么想的 (没经验啊) 接下来,我想都没想就用dedecms去做,之前 ...
- oc_转_NSInteger 和 NSNumber
Objective-C 支持的类型有两种:基本类型和类. 基本类型,如同 C 语言中的 int 类型一样,拿来就可以直接用.而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值.类的 ...
- Some_problem_with_octopress
今天我总算是使用上了高大上的octopress了,不容易啊,现在我把之前的博客全部搬到了octopress上了,在github上办博客让我不用再担心流量和广告了!---爽啊 我使用octopress时 ...
- [转]Ubuntu下GitHub的使用
转自Pythoner 本文将对Ubuntu下Git的安装,以及如何连接GitHub进行讲解. 1.环境 OS: Ubuntu13.04 64bitsGit: 1.8.1.2 2.Git安装 执行如下命 ...