slf4j,log4j,logback 初步使用
log4j,slf4j,logback简单介绍见 LogBack简易教程
Logback浅析
简单的将,slf4j是一个日志的框架,有各种日志的接口,但是并不包含实际的写日志的方法。
log4j,logback则各自独立的实现了日志的写入。
1.使用log4j独立生成日志
项目中导入log4j.jar,log4j.properties或log4j.xml
package com.spike.test; import java.io.IOException;
import java.sql.SQLException; import org.apache.log4j.Logger; public class Log4jExample {
static Logger log = Logger.getLogger(Log4jExample.class.getName()); public static void main(String[] args)throws IOException,SQLException{
log.debug("Debug");
log.info("Info");
log.error("error");
System.out.println(Log4jExample.class.getName()+" test");
}
}
输出结果如下,日志写入到log4j配置文件指定的文件中
[03 14:04:02,721 DEBUG] [main] test.Log4jExample - Debug
[03 14:04:02,723 INFO ] [main] test.Log4jExample - Info
[03 14:04:02,723 ERROR] [main] test.Log4jExample - error
com.spike.test.Log4jExample test
2.slf4j + log4j
项目中包含slf4j-api.jar,log4j.jar,slf4j-log4j.jar,以及log4j日志的配置文件
package com.spike.test;
import java.io.IOException;
import java.sql.SQLException; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; public class Slf4jExample { /* Get actual class name to be printed on */
static Logger log = LoggerFactory.getLogger(Slf4jExample.class.getName()); public static void main(String[] args)throws IOException,SQLException{
log.debug("Debug");
log.info("Info");
log.error("error");
System.out.println(Slf4jExample.class.getName()+" test");
}
}
输出结果如下,日志写入到log4j配置文件指定的文件
[03 14:07:50,548 DEBUG] [main] test.Slf4jExample - Debug
[03 14:07:50,549 INFO ] [main] test.Slf4jExample - Info
[03 14:07:50,549 ERROR] [main] test.Slf4jExample - error
com.spike.test.Slf4jExample test
3.slf4j + logback
项目中导入slf4j-api.jar,logback-access.jar,logback-classic.jar,logback-core-1.1.7.jar,以及logback.xml配置文件
package com.spike.test; import java.io.IOException;
import java.sql.SQLException; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; public class LogbackExample { static Logger log = LoggerFactory.getLogger(Log4jExample.class.getName()); public static void main(String[] args)throws IOException,SQLException{ log.debug("Debug");
log.info("Info");
log.error("error");
System.out.println(Log4jExample.class.getName()+" test");
} }
输出结果如下,日志写入到logback.xml指定的文件中
2016-11-03 14:14:31,799 [DEBUG] [main] com.spike.test.Log4jExample [LogbackExample.java : 18] Debug
2016-11-03 14:14:31,803 [INFO] [main] com.spike.test.Log4jExample [LogbackExample.java : 19] Info
2016-11-03 14:14:31,803 [ERROR] [main] com.spike.test.Log4jExample [LogbackExample.java : 20] error
com.spike.test.Log4jExample test
参考
用slf4j+logback实现多功能日志解决方案 --- 转
slf4j、jcl、jul、log4j1、log4j2、logback大总结
slf4j,log4j,logback 初步使用的更多相关文章
- slf4j log4j logback关系详解和相关用法
slf4j log4j logback关系详解和相关用法 写java也有一段时间了,一直都有用slf4j log4j输出日志的习惯.但是始终都是抱着"拿来主义"的态度,复制粘贴下配 ...
- slf4j log4j logback log4j2关系详解和相关用法
来源:slf4j log4j logback关系详解和相关用法https://www.cnblogs.com/Sinte-Beuve/p/5758971.html The Simple Logging ...
- Java日志框架(Commons-logging,SLF4j,Log4j,Logback)
简介 在系统开发中,日志是很重要的一个环节,日志写得好对于我们开发调试,线上问题追踪等都有很大的帮助.但记日志并不是简单的输出信息,需要考虑很多问题,比如日志输出的速度,日志输出对于系统内存,CPU的 ...
- slf4j log4j logback相关用法
Java的简单日志门面( Simple Logging Facade for Java SLF4J)作为一个简单的门面或抽象,用来服务于各种各样的日志框架,比如java.util.logging.lo ...
- slf4j -->log4j --> logback -->log4j2
slf4j是一个接口:log4j\logback\log4j2是slf4j接口的持续更新的日志框架实现类:按照面向接口编程,java中导入slf4j最好,可以持续更新日志框架实现类. 详细情况见链接 ...
- slf4j log4j logback
最先大家写日志都用log4j,后来作者勇于创新,又搞了个logback,又为了统一江湖,来了个slf4j,所以目前在代码中进行日志输出,推荐使用slf4j,这样在运行时,你可以决定到底是用log4j还 ...
- java日志组件介绍(common-logging,log4j,slf4j,logback )
转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...
- log4j+logback+slf4j+commons-logging的关系与调试(转)
log4j+logback+slf4j+commons-logging的关系与调试 从Log4j迁移到LogBack的理由 http://www.tuicool.com/articles/beeeYv ...
- log4j+logback+slf4j+commons-logging的关系与调试
背景 由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同.存在着在一个项目中,不同的版本,不同的框架共存.导致日志输出异常混乱.虽然也不至于对系统造成致命伤害,但是明显可以看出,架构 ...
随机推荐
- pycharm安装与实践
PyCharm简介 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成. ...
- Hive安装与配置(靠谱亲测)
Hive是hadoop生态环境的组成之一.通过Hive,可以使得直接用SQL操作HDFS.最大的好处就是让熟悉SQL,但是不了解JAVA的数据分析师使用.其机制就是一个将SQL语言转化为MapRed ...
- dd 生成指定大小文件
d命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中 ...
- PHP错误日志控制(display_errors和error_reporting)
display_errors和error_reporting是php程序调试过程中两个非常重要的参数,下面就来介绍一下这两个错误日志的配置如何开启和关闭: 我们知道在产品的生产环境肯定是不能够显示错误 ...
- Effective Java 16 Favor composition over inheritance
Inheritance disadvantage Unlike method invocation, inheritance violates encapsulation. Since you don ...
- 机器学习六--K-means聚类算法
机器学习六--K-means聚类算法 想想常见的分类算法有决策树.Logistic回归.SVM.贝叶斯等.分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别 ...
- CentOS6.3下安装VSFTP服务
CentOS下安装FTP服务器: 第一步,检查服务器端是否已经安装FTP:[root@localhost centos]# rpm -q vsftpd 如果出现的是:[root@localhost c ...
- Linux Strip
一.简介 strip经常用来去除目标文件中的一些符号表.调试符号表信息,以减小程序的大小. 二.语法 https://sourceware.org/binutils/docs/binutils/str ...
- php 利用activeMq+stomp实现消息队列
php 利用activeMq+stomp实现消息队列 一.activeMq概述 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J ...
- Learning c section 1
#include<stdio.h> void main() { puts("hello world"); int x=4; //the %p format will p ...