Java使用Log4记录日志

我们在系统使用中,为了方便查找问题,因此需要记录操作的日志,而目前比较成熟稳定的程序日志记录方式就是Log4,本人也是菜鸟,然后再学习研究中就记录一下使用方式,以方便今后查阅,同时本文章参考了博客园:http://www.cnblogs.com/zhangpengshou/p/5128050.html 的文章,在此表示感谢。

Log4有1.x版本和2.x版本,两个版本的使用方式有很大区别,为了方便在此使用2.x版本。

代码很简单,首先要配置xml,在类的同级创建log4j2.xml如下:

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

<configuration status="error">
    <!--先定义所有的appender-->
    <appenders>
        <!--这个输出控制台的配置-->
        <Console name="Console" target="SYSTEM_OUT">
            <!--这个是输出日志的格式-->
            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
        </Console>
        <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用-->
        <File name="Error" fileName="E:/logs/error.log" append="false">
            <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
            <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="记录时间:%date%n线程ID:[%thread] %n日志级别:%-5level%n记录位置:%location%n消息描述:%property{Message}%n异常:%exception%n消息:%message%newline%n------------------------------------------%n"/>
        </File>

        <!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
        <RollingFile name="RollingFile" fileName="E:/logs/history.log"
                     filePattern="log/$${date:yyyy-MM}/history-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout pattern="记录时间:%date%n线程ID:[%thread] %n日志级别:%-5level%n记录位置:%location%n消息描述:%property{Message}%n异常:%exception%n消息:%message%newline%n------------------------------------------%n"/>
            <SizeBasedTriggeringPolicy size="50MB"/>
        </RollingFile>
    </appenders>
    <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
    <loggers>
        <!--建立一个默认的root的logger-->
        <root level="trace">
            <appender-ref ref="Error"/>
            <appender-ref ref="RollingFile"/>
            <appender-ref ref="Console"/>
        </root>
    </loggers>
</configuration>

代码里面都有注释,在此不做详细解说了,关于Log4的其它配置可百度一下。Java代码使用方式如下:

import java.io.File;
import java.util.List;

import org.dom4j.*;
import org.dom4j.io.SAXReader;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Hello {
    private static Logger logger = LogManager.getLogger(Hello.class);

    public static void main(String[] args) {
        logger.debug("测试");
        logger.error("错误消息");
    }
}

鸣谢:http://www.cnblogs.com/zhangpengshou/p/5128050.html

时间: 2025-01-13 16:07:39

Java使用Log4记录日志的相关文章

java 自定义异常,记录日志简单说明!留着以后真接复制

log4j 相关配制说明:http://blog.csdn.net/liangrui1988/article/details/17435139 自定义异常 package org.rui.ExceptionTest; public class ExtraFeature { //-------使用------ public static void f()throws MyException { System.out.println("MyException from f()"); thr

JAVA - 优雅的记录日志(log4j实战篇) (转)

写在前面 项目开发中,记录错误日志有以下好处: 方便调试 便于发现系统运行过程中的错误 存储业务数据,便于后期分析 在java中,记录日志有很多种方式: 自己实现 自己写类,将日志数据,以io操作方式,写数据到文本文件.数据库中. 使用log4j log4j可以将日志输出到console窗口.文本文件.数据库等,功能强大! 使用slfj slfj也是一个很强大的功能,slfj旨在一统天下,提供了logging.jar 和 log4j的接口,可以通过slfj来调用log4j,也可以调用jdk的lo

C#中使用Log4记录日志

Log4Net配置还是挺简单的,具体: 1.新建Web或者Webform项目,使用Nuget下载log4net 2.新建Config文件夹,将log4net配置文件放入此文件夹中(当修改web.config的时候会重启网站,所以把log4net单独出来比较好,也好管理),log4net配置: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <log4net> 3 <appender name=&q

为什么使用 SLF4J 而不是 Log4J 来做 Java 日志

转自:为什么使用 SLF4J 而不是 Log4J 来做 Java 日志 英文原文:Why use SLF4J over Log4J for logging in Java 每个Java开发人员都知道日志记录对Java应用的重要性,尤其是对服务端应用,而且其中许多人都已经熟悉了各种记录日志的库,比如java.util.logging,Apache的log4j,logback,然而如果你不知道SLF4J,java的简单记录日志的设计的话 ,那么到了学习并在你的项目中使用它的时候了.在这篇Java文档

关于java中B/S架构

概述: B/S 架构的全称为 Browser/Server,即浏览器/服务器结构. Browser 指的是 Web 浏览器,极少数业务逻辑在前端实现,主要的业务逻辑在服务器端现, Browser 客户端,WebApp 服务器端和 DB 端构成所谓的三层架构. B/S 架构的系统无须特别安装,只有 Web 浏览器即可.B/S 架构中,显示逻辑交给了 Web浏览器,业务处理逻辑放在了 WebApp 上,这样就避免了庞大的胖客户端,减少了客户端的压力.因为客户端包含的逻辑很少,因此也被成为瘦客户端.

java 日志技术汇总(log4j , Commons-logging,.....)

前言 在java 中实现记录日志的方式有很多种, 1. 最简单的方式,就是system.print.out ,err 这样直接在控制台打印消息了. 2. java.util.logging ; 在JDK 1.4 版本之后,提供了日志的API ,可以往文件中写日志了. 3. log4j , 最强大的记录日志的方式. 可以通过配置 .properties 或是 .xml 的文件, 配置日志的目的地,格式等等. 4. commons-logging, 最综合和常见的日志记录方式, 经常是和log4j

Java日志log4j(转:https://www.cnblogs.com/crazyacking/p/5456347.html#_label00)

项目开发中,记录错误日志有以下好处: 方便调试 便于发现系统运行过程中的错误 存储业务数据,便于后期分析 在java中,记录日志有很多种方式: 自己实现 自己写类,将日志数据,以io操作方式,写数据到文本文件.数据库中. 使用log4j log4j可以将日志输出到console窗口.文本文件.数据库等,功能强大! 使用slfj slfj也是一个很强大的功能,slfj旨在一统天下,提供了logging.jar 和 log4j的接口,可以通过slfj来调用log4j,也可以调用jdk的logging

0002 - Java 日志从入门到实战

日志和异常处理结合得当的话,会给项目维护带来非常大的价值. 日志:就是介绍一个过程和经历的详细记录. 项目日志:就是项目开发过程的详细记录,一般由项目经理记录. 代码里的日志:就是程序员记录某个开发过程的详细情况,这是项目里每个程序员需要做的工作. 代码里的日志在项目中扮演着非常重要的角色,日志记录的详细程度决定系统是否容易维护,Java 项目中日志记录的框架有很多,在项目中如何选型也必将困惑. 我们这场 chat 讨论的主题就是:Java代码里的日志,主要是写给 Java 程序员看的,本篇 C

Log4Net使用指南

Log4记录日志使用说明   |  Log4net学习笔记 <1> Appender 附加,增加配置附加器有很多种,主要用到的几种: log4net.Appender.AdoNetAppender <记录到数据库配置access,sqlserver或者其他的数据库> log4net.Appender.FileAppender <记录到记录日志到单个文件> log4net.Appender.EventLogAppender <记录到记录日志到操作系统的事件>