`
qqj_1979
  • 浏览: 4738 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java学习笔记系列(2)--- 日志篇

    博客分类:
  • JAVA
 
阅读更多

日志的作用:

不言而喻,任何软件系统都会使用日志,定位问题,分析问题,监控系统当前状态等等都会使用到日志。

 

当前最流行的日志框架:

1、SLF4J+Log4j(如果之前的项目工程一直使用log4j,建议继续使用

2、SLF4J+Logback(新的项目,建议使用此组合

 

 SLF4J

    SLF4J是简单的日志外观模式框架,抽象了各种日志框架例如Logback、Log4j、Commons-logging和JDK自带的logging实现接口。它使得用户可以在部署时使用自己想要的日志框架。SLF4J是轻量级的,在性能方面几乎是零消耗的。
    SLF4J没有替代任何日志框架,它仅仅是标准日志框架的外观模式。如果在类路径下除了SLF4J再没有任何日志框架,那么默认状态是在控制台输出日志。

 

Logback

    Logback是Log4j的改进版本,而且原生支持SLF4J(因为是同一作者开发的),因此从其它日志框架如Log4j或JDK的logging迁移到Logback是完全可行的。
    由于Logback原生支持SLF4J,因此Logback+SLF4J的组合是日志框架的最佳选择,比SLF4J+其它日志框架的组合要快一些。而且Logback的配置可以是XML或Groovy代码

 

SLF4J + Logback

1.maven依赖

在pom.xml包含下面的依赖:它会自动包含所有的依赖包logback-core、slf4j-api……

<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.0.7</version>
</dependency>

 

2.配置和使用

1)给个常用的配置:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<!-- 尽量别用绝对路径,如果带参数不同容器路径解释可能不同 -->  
    <property name="LOG_HOME" value="logs/"/>     
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{H:mm} %-5level [%logger{16}] %msg%n</pattern>
        </encoder>
    </appender>
    
    <!-- 按照每天生成日志文件 -->  
    <appender name="FILE" 
        class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <Encoding>UTF-8</Encoding>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>${LOG_HOME}/myApp.%d{yyyy-MM-dd}.log</FileNamePattern>  
            <MaxHistory>30</MaxHistory>  
        </rollingPolicy>  
        <layout class="ch.qos.logback.classic.PatternLayout">  
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n  
            </pattern>  
       </layout>  
    </appender>   

    <!-- 用来设置某一个包或者具体的某一个类的日志打印级别,包名要与实际项目一致 -->
    <logger name="com.bcc" level="debug" /> <!-- 将级别为“DEBUG”及大于“DEBUG”的日志信息传递给root处理,本身并不打印 -->

    <root level="info"> <!-- root将级别为“INFO”及大于“INFO”的日志信息交给已经配置好的名为“Console”的appender处理,“Console”appender将信息打印到Console; -->
        <appender-ref ref="Console" /> <!-- 标识这个appender将会添加到这个logger -->
        <appender-ref ref="FILE" />
    </root>
</configuration>

  

 详细的配置参考:

 http://blog.csdn.net/haidage/article/details/6794509

 2)java代码中使用: 
package com.stu.system.action; 

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class BlogAction{
     //定义一个全局的记录器,通过LoggerFactory获取
     private final static Logger logger = LoggerFactory.getLogger(BlogAction.class); 
     /**
     * @param args
     */
    public static void main(String[] args) {
        logger.info("logback 成功了");
        logger.error("logback 成功了");
    }
}
 
 
 
分享到:
评论

相关推荐

    Java分布式应用学习笔记09JMX-MBean的介绍

    ### Java分布式应用学习笔记09JMX-MBean的介绍 #### MBean概念及作用 MBean,即Managed Bean,是在JMX(Java Management Extensions)框架中用于管理资源的一种特殊Java对象。通过MBean,可以方便地对应用程序进行...

    java学习笔记(文字整理版).doc

    ### Java学习笔记——Java与Hibernate入门精要 #### 一、Java学习笔记概述 本学习笔记旨在帮助初学者系统地掌握Java语言的基础知识,并通过实际案例深入理解Hibernate框架的应用。通过对核心概念和技术点的详细解释...

    java学习笔记 java学习笔记

    Java学习笔记涵盖了许多核心概念,包括面向对象编程的各个方面。以下是对这些知识点的详细解析: 1. **继承中方法的重写**: 当子类重写父类的方法时,子类方法的访问权限必须至少等于或大于父类中对应方法的访问...

    CoreJava学习笔记

    ### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...

    java学习笔记源码MD.rar

    Java学习笔记源码MD.rar是一个压缩包,其中包含了一系列关于Java编程语言的学习资料,特别是针对JVM(Java虚拟机),Spring框架以及Java多线程等内容的深入探讨。这些主题是Java开发中的核心部分,对于任何想要提升...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《java jdk 7学习笔记》适合java的初中级读者,以及广大java应用开发人员。 作译者 林信良(网名:良葛格) 学历:台湾大学电机工程学系 经历:台湾升阳教育训练技术顾问、专业讲师,oracle授权训练中心讲师 ...

    Java Redis 学习笔记 Markdown+PDF 格式分享

    **Java Redis 学习笔记概览** 在Java开发中,Redis作为一个高性能的键值存储系统,常被用于缓存、消息队列、分布式锁等多种场景。本笔记将深入探讨Java与Redis的集成以及如何利用Springboot框架进行高效操作。 1. ...

    良葛格的java学习笔记全

    《良葛格的Java学习笔记全》是一份深入浅出的Java编程学习资源,适合初学者及有一定基础的开发者。这份笔记以Java 5.0版本为基础,详细讲解了Java语言的核心概念和技术,旨在帮助读者建立起坚实的编程基础,进一步...

    Selenium java 学习笔记

    ### Selenium Java 学习笔记知识点总结 #### 一、Selenium简介与安装配置 - **Selenium概述**:Selenium 是一套完整的Web应用程序测试工具,主要用于自动化Web应用测试,能够模拟用户行为,支持多种浏览器环境。 - ...

    java笔记,java学习笔记

    从给定的文件信息中,我们可以提炼出一系列关于Java编程语言的重要知识点,这些知识点涵盖了学习策略、控制流、格式化输出、数据类型处理以及数组初始化等方面。以下是对这些知识点的详细解析: ### 学习策略:...

    java学习笔记及设计模式

    Java学习笔记及设计模式是程序员进阶过程中必不可少的资源,涵盖了广泛的Java基础知识和高级概念,同时结合了设计模式这一软件工程的重要组成部分。本资源集合旨在帮助开发者深化对Java语言的理解,提升编程技能,并...

    effective java 读书笔记

    《Effective Java》是Java开发领域的经典著作,作者Joshua Bloch深入浅出地阐述了编写高效、健壮的Java代码的技巧和最佳实践。以下是对该书部分内容的详细解释: 1. **产生和销毁对象** - Item1:静态工厂方法相比...

    暑期培训学习笔记之 java\日期排序

    本篇学习笔记将深入探讨如何在Java中对日期进行排序,主要包括以下几个方面: 1. **日期对象的创建** 在Java中,我们可以使用`java.util.Date`类或者`java.time`包中的`LocalDate`, `LocalDateTime`等类来表示日期...

    Java分布式应用学习笔记

    Java分布式应用学习笔记 在Java世界中,分布式应用是指由多个独立组件通过网络通信协同工作的系统。这种架构模式常用于构建大规模、高可用性、可扩展的系统。本笔记将深入探讨Java分布式应用的核心概念、技术和实践...

    Java学习笔记

    从提供的文件内容来看,这份“Java学习笔记”不仅涵盖了Java语言的基础知识,还涉及了Unix系统操作、数据库技术、Web开发等多个层面的知识点。 首先,文件标题“Java学习笔记”直接指出了内容的主题,即学习Java...

    java学习笔记java学习笔记java学习笔记

    Java学习笔记涵盖了许多重要的编程概念和技术,特别是在JavaMail、Oracle数据库管理和索引、自定义对象序列化以及数据库导入导出方面。以下是对这些主题的详细解释: 1. **JavaMail**: JavaMail是一个用于处理...

    Java 学习笔记 开发环境搭建JDK+Tomcat+Eclipse

    ### Java学习笔记:开发环境搭建JDK+Tomcat+Eclipse #### 一、开发工具获取 ##### 1、开发工具包JDK JDK(Java Development Kit)是Java语言的基础软件包,它提供了编译、运行Java程序所需的所有工具。 - **下载...

    Java 学习笔记极其详细版(包括一些个人色彩不仅仅是纯笔记)

    ### Java 学习笔记极其详细版(包括一些个人色彩不仅仅是纯笔记) #### 内容概览 本学习笔记旨在提供一份全面深入的Java教程,它不仅涵盖了Java的基础知识,还包括了作者个人的见解和实践经验。适合Java初学者、...

Global site tag (gtag.js) - Google Analytics