首先建立项目

package a;

import org.apache.log4j.Logger;

public class Test {

    private static Logger logger=Logger.getLogger(Test.class);
public static void main(String[] args) {
logger.debug("debug");
logger.info("info");
logger.warn("warn");
logger.error("error");
logger.fatal("fatal");
} }

log4j.properties

log4j.rootLogger=DEBUG,Console,DEBUGFile ,ERRORFile

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.SimpleLayout #DEBUGFile
log4j.appender.DEBUGFile = org.apache.log4j.FileAppender
log4j.appender.DEBUGFile.File = E://debug.log # ${catalina.base}/logs/debug.log
log4j.appender.DEBUGFile.layout = org.apache.log4j.PatternLayout
log4j.appender.DEBUGFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
log4j.appender.DEBUGFile.Threshold = DEBUG
log4j.appender.DEBUGFile.Append = false #ERRORFile
log4j.appender.ERRORFile = org.apache.log4j.FileAppender
log4j.appender.ERRORFile.File = E://error.log
log4j.appender.ERRORFile.layout = org.apache.log4j.PatternLayout
log4j.appender.ERRORFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
log4j.appender.ERRORFile.Threshold = ERROR

二话不说,先把项目跑起来

在到E盘中看看我们的日志文件

实践已经结束了,现在开始理论了。

日志级别从高到低:

OFF 关闭了日志信息 ,什么也不记录(一般不用)
FATAL 可能导致应用中止的严重事件错误
ERROR 严重错误 主要是程序的错误
WARN 一般警告,比如session丢失
INFO 一般要显示的信息,比如登录登出
DEBUG 为程序的调试信息
TRACE 为比DEBUG更细粒度的事件信息
ALL 全纪录(一般不用)

log4j.rootLogger是根配置属性

log4j.rootLogger=【level】,目的地名1,目的地名2,目的地名3....

level是日志等级,

目的地:是日志的记录信息输出到什么地方

目的地的值:

org.apache.log4j.ConsoleAppender   控制台

org.apache.log4j.FileAppender   文件

org.apache.log4j.DailyRollingFileAppender    每天产生一个日志文件

org.apache.log4j.RollingFileAppender   文件大小到达指定尺寸的时候产生一个新的文件

org.apache.log4j.WriterAppender   将日志信息以流格式发送到任意指定的地方

org.apache.log4j.JdbcAppender   将日志讯息保存到数据库中

log4j.appender.Console.layout   日志的输出形式,
值如下:
org.apache.log4j.HTMLLayout HTML表格形式布局
org.apache.log4j.PatternLayout 自定义日志格式
org.apache.log4j.SimpleLayout  包含日志信息的级别和信息字符串
org.apache.log4j.TTCCLayout   包含日志产生的时间、线程、类别等等信息 log4j.appender.DEBUGFile.File = E://debug.log 日志的输出地址
log4j.appender.Console.layout.ConversionPattern=%-5p [%c] - %m%n 自定义日志的输出格式
其中-5这一项表示的是输出的日志级别名称所占的字符数为5,不足5个字符的用空格补全,其实就是起到对齐的作用,方便查看日志内容
具体参数如下
%m
输出代码中指定的消息
%M
输出打印该条日志的方法名
%p
输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r
输出自应用启动到输出该log信息耗费的毫秒数
%c
输出所属的类目,通常就是所在类的全名
%t
输出产生该日志事件的线程名
%n
输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”
%d
输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2002-10-18 22:10:28,921;
%l
输出日志事件的发生位置,及在代码中的行数
log4j.appender.DEBUGFile.Threshold = DEBUG  日志消息的输出最低层次  这里的值只能比根层级高,否则无法输出
log4j.appender.DEBUGFile.Append = false   日志文件是否追加,默认就是true,表示追加

log4j.properties详解的更多相关文章

  1. log4j.properties 详解与配置步骤(转)

    找的文章,供参考使用 转自 log4j.properties 详解与配置步骤 一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR ...

  2. log4j.properties 详解与配置步骤

    一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...

  3. 转--log4j.properties 详解与配置步骤

    一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...

  4. log4j.properties 详解与配置步骤总结

    先提供一个项目中使用log4j.properties配置 #log4j.rootLogger=WARN, stdout, file log4j.rootLogger=INFO,console,dail ...

  5. 【转】log4j.properties 详解与配置步骤 - edward0830ly的专栏 - 博客频道 - CSDN.NET

    一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...

  6. log4j.properties详解与例子

    在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Appender及 ...

  7. 【配置】log4j.properties 详解与配置步骤

    一.Log4j基本使用方法 Log4j由三个重要的组件构成:[日志信息的优先级],[日志信息的输出目的地],[日志信息的输出格式]. 日志信息的优先级从高到低有ERROR.WARN. INFO.DEB ...

  8. Log4j使用详解(log4j.properties格式)

    Log4j使用详解(log4j.properties格式) 1.Log4j 的引入 在应用程序中添加日志记录总的来说基于三个目的: ① 监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计 ...

  9. org.apache.log4j.Logger详解

    org.apache.log4j.Logger 详解 1. 概述 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工 ...

随机推荐

  1. Nearest Common Ancestors (POJ 1330)

    A rooted tree is a well-known data structure in computer science and engineering. An example is show ...

  2. 【转】python 中NumPy和Pandas工具包中的函数使用笔记(方便自己查找)

    二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准 ...

  3. LeetCode 199 二叉树的右视图

    题目: 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 ...

  4. HDU5616 天平能否称出物体重量问题 01背包变形或者折半搜索

    //hdu5616 void solve1(){dp[0]=1;for(int i=1;i<=n;i++){for(int j=INF;j>=val[i];j--){dp[j]|=(dp[ ...

  5. cornerstone 使用-图标含义-分支-合并

    http://www.jianshu.com/p/7f5c019c528b http://www.cnblogs.com/fyongbetter/p/5404697.html

  6. ulimit系统资源的设定

    使用ulimit -a 可以查看系统使用的资源 core file size 设定core文件的最大值,单位为区块,如果指定为0,不会产生core文件 data seg size 设定数据段的最大值, ...

  7. 北大poj- 1032

    Parliament Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18707   Accepted: 7941 Descr ...

  8. h5页面 内嵌h5页面遇到的问题

    1.input框无法获取焦点输入内容 input { -webkit-user-select: auto; } 2.div里面放img标签有3px的距离 div { font-size: 0; } i ...

  9. js实现颜色渐变

    #grad { background: -webkit-linear-gradient(red, blue); /* Safari 5.1 - 6.0 */ background: -o-linear ...

  10. LINUX文件删除,但磁盘空间未释放

    最近在进行系统压测,由于服务器节点太多,便写了个简单的脚本,在执行过程中发现,日志文件删除后,磁盘空间只释放了一小部分,任有大部分磁盘空间未释放. 使用lsof | grep delete命令,发现已 ...