常用的日志框架

  • SLF4J,全称Simple Logging Facade for Java,即Java简单日志外观框架,顾名思义,它并非具体的日志实现,而是日志外观框架
  • java.util.logging,是JDK自带的一个日志实现框架
  • Logback,一个流行的日志实现框架
  • LOG4J,一个流行的日志实现框架

java.util.logging

java.util.logging,JDK自带的一个日志实现框架,我们并没有在项目中使用,但在个人练习中常使用来打印日志,来个最简单的例子。

  1. import java.util.logging.Logger;
  2. public class HowToUse {
  3. public static void main(String[] args) {
  4. Logger logger = Logger.getLogger("HowToUse"); // 默认级别info
  5. /* 各打印级别 */
  6. logger.severe("severe");
  7. logger.warning("warning");
  8. logger.info("info");
  9. logger.config("config");
  10. logger.fine("fine");
  11. logger.finer("finer");
  12. logger.finest("finest");
  13. }
  14. }

日志:

  1. 五月 29, 2017 7:44:40 上午 HowToUse main
  2. 严重: severe
  3. 五月 29, 2017 7:44:41 上午 HowToUse main
  4. 警告: warning
  5. 五月 29, 2017 7:44:41 上午 HowToUse main
  6. 信息: info

Logback

一款基于SLF4J外观的日志实现,用POM.XML引入Logback你会发现依赖并引入SLF4J

  1. <dependency>
  2. <groupId>ch.qos.logback</groupId>
  3. <artifactId>logback-classic</artifactId>
  4. <version>1.1.11</version>
  5. <scope>test</scope>
  6. </dependency>

Logback的配置中有几个比较重要,loogerrootappender,结构图如下:

一个简单的配置文件:

  1. <configuration scan="true" scanPeriod="60 seconds" debug="false">
  2. <property name="Application_Name" value="Logback-Exercies" /> <!-- 公用属性 -->
  3. <contextName>${Application_Name}</contextName> <!-- 上下文名称 -->
  4. <!-- 控制台输出 -->
  5. <appender name="CONSOLE_OUT" class="ch.qos.logback.core.ConsoleAppender">
  6. <encoder>
  7. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n
  8. </pattern>
  9. </encoder>
  10. </appender>
  11. <!-- 滚动日志文件输出 -->
  12. <appender name="ROLLING_FILE_OUT"
  13. class="ch.qos.logback.core.rolling.RollingFileAppender">
  14. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  15. <fileNamePattern>D:/logs/${Application_Name}.%d{yyyy-MM-dd}.log
  16. </fileNamePattern>
  17. <maxHistory>30</maxHistory>
  18. </rollingPolicy>
  19. <encoder>
  20. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n
  21. </pattern>
  22. </encoder>
  23. </appender>
  24. <!-- 专门为com.nicchagil包下定义的输出 -->
  25. <appender name="SPECIFIED_FILE_OUT" class="ch.qos.logback.core.FileAppender">
  26. <file>D:/logs/${Application_Name}_Specified.log</file>
  27. <append>true</append>
  28. <encoder>
  29. <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n
  30. </pattern>
  31. </encoder>
  32. </appender>
  33. <!-- 根logger的定义 -->
  34. <root level="INFO">
  35. <appender-ref ref="CONSOLE_OUT" />
  36. <appender-ref ref="ROLLING_FILE_OUT" />
  37. </root>
  38. <!-- 为com.nicchagil包专属logger的定义 -->
  39. <logger name="com.nicchagil" level="DEBUG">
  40. <appender-ref ref="SPECIFIED_FILE_OUT" />
  41. </logger>
  42. </configuration>

声明Logger:

  1. import org.slf4j.Logger;
  2. import org.slf4j.LoggerFactory;
  3. private final Logger logger = LoggerFactory.getLogger(MySimpleJob.class);

LOG4J

LOG4J,一个流行的日志实现框架,很多公司在使用,这里不讨论。

如使用它,则引用:

  1. <dependency>
  2. <groupId>org.slf4j</groupId>
  3. <artifactId>slf4j-log4j12</artifactId>
  4. <version>1.7.25</version>
  5. </dependency>

【Java】Java日志框架Logback的简单例子的更多相关文章

  1. Java常用日志框架介绍

    Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括L ...

  2. Java常用日志框架介绍(转)

    Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括L ...

  3. 带你掌握Java各种日志框架

    一:日志基本概念及框架 1:什么是日志 Java程序员在开发项目时都是依赖Eclipse/IDEA等集成开发工具的Debug调试功能来跟踪解决Bug,但项目打包部署发布到了测试环境和生产环境怎么办?难 ...

  4. (转)Java中使用正则表达式的一个简单例子及常用正则分享

    转自:http://www.jb51.net/article/67724.htm 这篇文章主要介绍了Java中使用正则表达式的一个简单例子及常用正则分享,本文用一个验证Email的例子讲解JAVA中如 ...

  5. 【spring boot】8.spring boot的日志框架logback使用

    在继续上一篇的Debug调试之后,把spring boot的日志框架使用情况逐步蚕食. 参考:http://tengj.top/2017/04/05/springbo 开篇之前,贴上完整applica ...

  6. 后端——框架——日志框架——logback——《官网》阅读笔记——第一章节

    第一章节搭建了logback日志框架的环境,演示了Hello World的示例,并详细分析了示例. 搭建日志框架的过程非常简单,只需要在项目的classpath上添加以下三个jar包,logback- ...

  7. SpringBoot整合日志框架LogBack

    日志可以记录我们应用程序的运行情况,我们可以通过日志信息去获取应用程序更多的信息.常用处理java日志的组件有:slf4j.log4j.logback.common-logging等.其中log4j是 ...

  8. 为什么要用日志框架 Logback 基本使用

    [日志框架]以时间为单位描述应用项目运行状态:用户下线.接口超时.数据库崩溃等等一系列事件 [日志框架能力] 1.定制输出格式 2.定制输出目标 3.携带 Context 比如 HelloWorld. ...

  9. 初探日志框架Logback

    一. 背景 最近因为学习项目时需要使用logback日志框架来打印日志, 使用过程中碰到很多的疑惑, 而且需要在控制台打印mybatis执行的sql语句, 于是决定沉下心来 研究一下logback的使 ...

随机推荐

  1. uitableview分组的数据2中方式

    // // ViewController.m // tableviegroup // // Created by ganchaobo on 13-7-2. // Copyright (c) 2013年 ...

  2. Storage System and File System Courses

    I researched a lot about storage system classes given at good universities this year. This had two r ...

  3. ubuntu安装过程中遇到问题小结

    一.下载 官网下载地址:https://www.ubuntu.com/download/desktop/contribute?version=16.04.4&architecture=amd6 ...

  4. iOS与H5交互

    H5与App原生交互,一般会是前端页面中的JavaScript与App使用的原生开发语言的交互.技术方案应能达到以下要求: 在js与原生进行交互的时候能保证正常的正向调用逻辑返回,反向可以处理异步回调 ...

  5. 树莓派进阶之路 (028) - 树莓派SQLite3的安装

    MySQL占用内存太大,而SQLite是一款轻量级零配置数据库,非常适合在树莓派和其他嵌入式系统中使用.SQLite文档详细资料丰富,本文不会详细解释SQLite数据库操作的方方面面,只能结合具体场景 ...

  6. Ubuntu菜鸟入门(十六)—— 安装视频播放器vlc

    sudo add-apt-repository ppa:videolan/master-daily sudo apt-get update sudo apt-get install vlc Ubunt ...

  7. Java使用Itext5.5.10进行pdf签章

    说到PDF数字签名签章,这个其实也是数字证书信息安全的应用范畴,关于数字证书和数字签名,网上有很多解释说明,但讲解都多不够详细准确,这边推荐一篇大神的博文,讲解浅显易懂形象数字证书 数字签名 数据加密 ...

  8. 【Oracle】Oracle基本数据类型总结

    ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID &am ...

  9. Xcode 常用插件

    1.Xcode 插件 从 Xcode 8 起 Apple 禁用 Xcode 插件. 1)Xcode 插件安装目录 ~/library/Application Support/Developer/Sha ...

  10. 【Android开发】之Fragment生命周期

    上一篇博客我们讲到了,Fragment的基本使用,相信大家都已经了解怎么去使用了.如果还有不懂得同学可以去看一下,传送门.现在我们来讲解一下Fragment的生命周期. 一.Fragment的事务 再 ...