`
TRAMP_ZZY
  • 浏览: 137756 次
社区版块
存档分类
最新评论

Java 日志详解

阅读更多
Java 日志详解

1. Java 日志体系主要分为Facade 和具体的日志实现。当前主流的Facade主要由
  • apache-comnons-logging
  • slf4j
  • log4j2


2. 主流的日志实现由以下几种
  • java.util.logging
  • log4j
  • logback


3. 参考
  • http://my.oschina.net/xianggao/blog/515381
  • http://www.ibm.com/developerworks/cn/java/j-lo-practicelog/


4. 具体的代码
4.1 JDK自带
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger;

/**
 * Created by zhaoyu on 16-7-11.
 */
public class JdkLogging {

    private static Logger logger = null;
    private JdkLogging() {}

    public static Logger getLogger(String name) {
        InputStream stream = JdkLogging.class.getResourceAsStream("/logging.properties");
        if (logger == null) {
            try {
                LogManager.getLogManager().readConfiguration(stream);
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    stream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            logger = Logger.getLogger(name);
        }
        return logger;
    }

    public static void main(String[] args) {
        Logger logger = JdkLogging.getLogger(JdkLogging.class.getName());
        //Logger logger = Logger.getLogger(JdkLogging.class.getName(), null);
        // logger.setLevel(Level.CONFIG);
        logger.severe("java utils logging level severe.");
        logger.warning("java utils logging level warning.");
        logger.info("java utils logging level info.");
        logger.config("java utils logging level config.");
        logger.fine("java utils logging level fine.");
        logger.finer("java utils logging level finer.");
        logger.finest("java utils logging level finest.");

    }
}



4.2 log4j
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.helpers.Loader;

/**
 * Created by zhaoyu on 16-7-11.
 */
public class Log4jLogging {

    private static final Logger LOGGER = Logger.getLogger(Log4jLogging.class);

    public static void main(String[] args) {
        LOGGER.info("this is log4j info log.");
        LOGGER.error("this is log4j error log.");

        // load log4j.properties
        //PropertyConfigurator.configure(Log4jLogging.class.getResource("/log4jx.properties"));
        PropertyConfigurator.configure(Loader.getResource("log4jx.properties"));
        if (LOGGER.isTraceEnabled()) {
            LOGGER.trace("this is log4j trace log.");
        }
    }
}


4.3 log4j2
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * Created by zhaoyu on 16-7-11.
 */
public class Log4j2Logging {

    private static final Logger LOGGER = LogManager.getLogger(Log4j2Logging.class);

    public static void main(String[] args) {
        LOGGER.info("log4j2 info");
        LOGGER.debug("log4j2 debug");
    }
}


4.4 apache-commons-logging
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * Created by zhaoyu on 16-7-11.
 */
public class ApacheCommonsLog {

    private static final Log LOG = LogFactory.getLog(ApacheCommonsLog.class);

    public static void main(String[] args) {
        LOG.info("apache commons log.");
    }
}


4.5 logback 与slf4j
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Created by zhaoyu on 16-7-11.
 */
public class Slf4jLogging {

    private static final Logger LOGGER = LoggerFactory.getLogger(Slf4jLogging.class);

    public static void main(String[] args) {
        // logback
        LOGGER.info("logback info log");
        LOGGER.debug("logback debug log");
    }
}


分享到:
评论

相关推荐

    java_java日志详解.pdf

    java_java日志详解.pdf

    java_java日志详解[汇编].pdf

    java_java日志详解[汇编].pdf

    efk7.13搜集java日志-filebeat配置详解

    efk7.13搜集java日志—filebeat配置详解笔记总结

    Java日志框架详解.ppt

    Java日志框架详解.ppt

    java日志框架

    Java日志框架是Java开发中不可或缺的部分,它们用于记录应用程序的运行信息,帮助开发者追踪错误、调试代码以及进行性能分析。Log4j和Logback是其中最常用的两个框架,它们都由Ceki Gülcü创建,并且在设计上有着...

    java日志.txt

    根据提供的文件信息,我们可以深入探讨Java日志系统的关键概念与技术细节。日志在软件开发过程中扮演着极其重要的角色,它不仅有助于问题诊断,还能帮助我们监控应用的行为和性能。 ### Java日志系统概述 Java日志...

    action in spring第三版

    文件名中的"JAVA应用开发日志解决方案"、"java_java日志详解"以及"Log4j使用方法"等,都是关于如何在Java环境中有效地进行日志记录的资源,特别强调了Log4j这一常用的日志框架。 5. **Log4j**:Log4j是Java日志工具...

    Tomcat与Java_Web开发技术详解3.pdf

    ### Tomcat与Java Web开发技术详解 #### 一、Tomcat简介 Tomcat是一款开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它实现了对Servlet和JavaServer Pages (JSP)的支持,可以作为独立的应用服务器...

    java-mina通信框架详解.docx

    它提供了JAVA对象的序列化和虚拟机内部通信的功能,使得开发者能够迅速构建高性能、高可扩展性的网络应用。Mina的核心特性是其事件驱动、异步(基于Java NIO)的编程模型,使得处理网络通信变得更加高效。 Mina分为...

    java_log4j日志详解.doc

    Java开发人员来说,是最初级的日志记录方式。然而,随着项目复杂度的提升,这种简单的打印方式就显得力不从心。此时,就需要引入更专业、更强大的日志框架,比如Log4j。 Log4j是Apache组织提供的一款开源的日志记录...

    JAVA 反射详解PPT

    代理对象可以在调用实际方法之前或之后添加额外的行为,如日志记录、性能监控、事务管理等。通常,我们首先创建一个实现了`InvocationHandler`接口的类,然后使用`Proxy.newProxyInstance()`方法生成代理对象。 ...

    jvm crash的崩溃日志详细分析及注意点

    默认情况下,日志会被保存在Java程序运行的当前目录下,文件名为`hs_err_pid.log`。 另一个重要的参数是`-XX:OnError`,它允许我们在JVM崩溃时执行自定义的命令,比如`pmap %p`用于显示进程的内存映射,或者`gcore ...

    Tomcat与java web 开发技术详解-孙卫琴-第二版

    《Tomcat与Java Web开发技术详解》是孙卫琴老师撰写的一本深入解析Java Web开发和Tomcat服务器的著作,其第二版进一步更新了内容,提供了更为详尽的指导。这本书针对初学者和有一定经验的开发者,旨在帮助读者掌握...

    Tomcat与Java.Web开发技术详解(PDF)

    【标题】:“Tomcat与Java.Web开发技术详解”是一本深度探讨Tomcat服务器与Java Web应用开发的专业资料,旨在帮助开发者全面理解并掌握这两项关键技术。 【内容详解】: 1. **Tomcat介绍**:Tomcat是Apache软件基金...

    java23中设计模式详解

    13. **命令模式**:将请求封装为一个对象,使得可以使用不同的请求、队列或者日志请求,也可以支持撤销操作。 14. **责任链模式**:处理请求的类形成一个链,每个类都可以处理请求或将其传递给链上的下一个类。 15...

    Tomcat与Java Web开发技术详解(第2版).pdf

    《Tomcat与Java Web开发技术详解(第2版)》是一本深入探讨Java Web应用程序部署和运行环境的权威指南。本书主要围绕Apache Tomcat服务器展开,涵盖了从基础概念到高级特性的全方位讲解,旨在帮助读者掌握Java Web...

    Tomcat与Java Web开发技术详解

    《Tomcat与Java Web开发技术详解》是由知名Java专家孙卫琴编著的一本深入解析Tomcat和Java Web开发的专业书籍。这本书旨在帮助开发者全面理解如何利用Tomcat服务器进行高效、稳定的应用程序部署和管理,同时涵盖了...

    详解Java日志正确使用姿势

    Java日志是软件开发中的重要组成部分,用于记录应用程序运行过程中的事件和问题,方便后期的调试和问题定位。本文将详细介绍Java日志的正确使用姿势,以提高开发效率和问题解决能力。 首先,日志文件的命名至关重要...

Global site tag (gtag.js) - Google Analytics