log4j,slf4j,logback简单介绍见 LogBack简易教程

Logback浅析

简单的将,slf4j是一个日志的框架,有各种日志的接口,但是并不包含实际的写日志的方法。

log4j,logback则各自独立的实现了日志的写入。

1.使用log4j独立生成日志

项目中导入log4j.jar,log4j.properties或log4j.xml

  1. package com.spike.test;
  2.  
  3. import java.io.IOException;
  4. import java.sql.SQLException;
  5.  
  6. import org.apache.log4j.Logger;
  7.  
  8. public class Log4jExample {
  9. static Logger log = Logger.getLogger(Log4jExample.class.getName());
  10.  
  11. public static void main(String[] args)throws IOException,SQLException{
  12. log.debug("Debug");
  13. log.info("Info");
  14. log.error("error");
  15. System.out.println(Log4jExample.class.getName()+" test");
  16. }
  17. }

输出结果如下,日志写入到log4j配置文件指定的文件中

  1. [03 14:04:02,721 DEBUG] [main] test.Log4jExample - Debug
  2. [03 14:04:02,723 INFO ] [main] test.Log4jExample - Info
  3. [03 14:04:02,723 ERROR] [main] test.Log4jExample - error
  4. com.spike.test.Log4jExample test

2.slf4j + log4j

项目中包含slf4j-api.jar,log4j.jar,slf4j-log4j.jar,以及log4j日志的配置文件

  1. package com.spike.test;
  2. import java.io.IOException;
  3. import java.sql.SQLException;
  4.  
  5. import org.slf4j.Logger;
  6. import org.slf4j.LoggerFactory;
  7.  
  8. public class Slf4jExample {
  9.  
  10. /* Get actual class name to be printed on */
  11. static Logger log = LoggerFactory.getLogger(Slf4jExample.class.getName());
  12.  
  13. public static void main(String[] args)throws IOException,SQLException{
  14. log.debug("Debug");
  15. log.info("Info");
  16. log.error("error");
  17. System.out.println(Slf4jExample.class.getName()+" test");
  18. }
  19. }

输出结果如下,日志写入到log4j配置文件指定的文件

  1. [03 14:07:50,548 DEBUG] [main] test.Slf4jExample - Debug
  2. [03 14:07:50,549 INFO ] [main] test.Slf4jExample - Info
  3. [03 14:07:50,549 ERROR] [main] test.Slf4jExample - error
  4. 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配置文件

  1. package com.spike.test;
  2.  
  3. import java.io.IOException;
  4. import java.sql.SQLException;
  5.  
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8.  
  9. public class LogbackExample {
  10.  
  11. static Logger log = LoggerFactory.getLogger(Log4jExample.class.getName());
  12.  
  13. public static void main(String[] args)throws IOException,SQLException{
  14.  
  15. log.debug("Debug");
  16. log.info("Info");
  17. log.error("error");
  18. System.out.println(Log4jExample.class.getName()+" test");
  19. }
  20.  
  21. }

输出结果如下,日志写入到logback.xml指定的文件中

  1. 2016-11-03 14:14:31,799 [DEBUG] [main] com.spike.test.Log4jExample [LogbackExample.java : 18] Debug
  2. 2016-11-03 14:14:31,803 [INFO] [main] com.spike.test.Log4jExample [LogbackExample.java : 19] Info
  3. 2016-11-03 14:14:31,803 [ERROR] [main] com.spike.test.Log4jExample [LogbackExample.java : 20] error
  4. com.spike.test.Log4jExample test

参考

用slf4j+logback实现多功能日志解决方案 --- 转

LogBack入门实践

Logback 学习笔记

slf4j log4j logback关系详解和相关用法

SLF4J LOG4J-12下载地址

slf4j、jcl、jul、log4j1、log4j2、logback大总结

slf4j,log4j,logback 初步使用的更多相关文章

  1. slf4j log4j logback关系详解和相关用法

    slf4j log4j logback关系详解和相关用法 写java也有一段时间了,一直都有用slf4j log4j输出日志的习惯.但是始终都是抱着"拿来主义"的态度,复制粘贴下配 ...

  2. slf4j log4j logback log4j2关系详解和相关用法

    来源:slf4j log4j logback关系详解和相关用法https://www.cnblogs.com/Sinte-Beuve/p/5758971.html The Simple Logging ...

  3. Java日志框架(Commons-logging,SLF4j,Log4j,Logback)

    简介 在系统开发中,日志是很重要的一个环节,日志写得好对于我们开发调试,线上问题追踪等都有很大的帮助.但记日志并不是简单的输出信息,需要考虑很多问题,比如日志输出的速度,日志输出对于系统内存,CPU的 ...

  4. slf4j log4j logback相关用法

    Java的简单日志门面( Simple Logging Facade for Java SLF4J)作为一个简单的门面或抽象,用来服务于各种各样的日志框架,比如java.util.logging.lo ...

  5. slf4j -->log4j --> logback -->log4j2

    slf4j是一个接口:log4j\logback\log4j2是slf4j接口的持续更新的日志框架实现类:按照面向接口编程,java中导入slf4j最好,可以持续更新日志框架实现类. 详细情况见链接 ...

  6. slf4j log4j logback

    最先大家写日志都用log4j,后来作者勇于创新,又搞了个logback,又为了统一江湖,来了个slf4j,所以目前在代码中进行日志输出,推荐使用slf4j,这样在运行时,你可以决定到底是用log4j还 ...

  7. java日志组件介绍(common-logging,log4j,slf4j,logback )

    转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...

  8. log4j+logback+slf4j+commons-logging的关系与调试(转)

    log4j+logback+slf4j+commons-logging的关系与调试 从Log4j迁移到LogBack的理由 http://www.tuicool.com/articles/beeeYv ...

  9. log4j+logback+slf4j+commons-logging的关系与调试

    背景     由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同.存在着在一个项目中,不同的版本,不同的框架共存.导致日志输出异常混乱.虽然也不至于对系统造成致命伤害,但是明显可以看出,架构 ...

随机推荐

  1. 【读书笔记】iOS-AppKit简介

    一,IBOutlet和IBAction.它们实际上只是AppKit提供的#defines.IBOutlet的含义没有任何作用,因此将不对对它时行编译.IBAction定义为void,这意味着在AppC ...

  2. 我对XCode Objective-c Cocoa的简单理解

    我对XCode Objective-c Cocoa的简单理解 Xcode Xcode说的通俗一点就是开发OS X 和 iOS 应用程序的. 如果我们想要认真点说 ,Xcode 是运行在操作系统Mac ...

  3. android开发之——获取相册图片和路径

    Android开发获取相册图片的方式网上有很多种,这里说一个Android4.4后的方法,因为版本越高,一些老的api就会被弃用,新的api和老的api不兼容,导致出现很多问题. 比如:managed ...

  4. Android开发笔记——常见BUG类型之内存泄露与线程安全

    本文内容来源于最近一次内部分享的总结,没来得及详细整理,见谅. 本次分享主要对内存泄露和线程安全这两个问题进行一些说明,内部代码扫描发现的BUG大致分为四类:1)空指针:2)除0:3)内存.资源泄露: ...

  5. IOS开发之网络编程--文件压缩和解压缩

    前言: QQ表情包就用到了解压缩,从网络下载的那么多表情文件格式并不是一个一个图片文件,而是多个图片压缩而成的表情压缩包.下面介绍的是iOS开发中会用到的压缩和解压缩的第三方框架的使用. 注意: 这个 ...

  6. 《慕客网:IOS动画案例之会跳动的登入界面(上)》学习笔记 -Sketch的使用

    选中需要放进文件夹里的文件,然后按command+G,就会自动生成文件夹并把需要放进的文件包含进去了.(组 Group) 选中需要锁住的图层,然后按command+shift+L就可以将图层锁住.(锁 ...

  7. Maven学习遇到的第一个错误

    现在开始学习maven,我是在极客学院看的视频学习的,学习当然会遇到异常,下面是我遇到的第一个异常 [ERROR] Failed to execute goal org.apache.maven.pl ...

  8. docker-4 Dockerfile的使用

    Dockerfile FROM      基础镜像 MAINTAINER  维护这信息 RUN       运行什么命令,在命令前面加上RUN ADD       往里面加点文件,copy文件,会自动 ...

  9. 【同步复制常见错误处理3】找不到存储的过程 sp_MSins_tablename

    环境在SQL2008 R2同步复制时出错 这个错误提示是由于在订阅端没有找到同步时调用的同步存储过程,MS错误说明: 当某个事务发布在 SQL SERVER自动同步设置选择订阅服务器插入. 更新和删除 ...

  10. JRE与JDK的区别

    转自:http://swiftlet.net/archives/639 1. 定义JRE(Java Runtime Enviroment)是Java的运行环境.面向Java程序的使用者,而不是开发者. ...