Log4j 基本配置

首先下载Log4j有关的jar包,虽然现在 Log4j更新到了2.0,但是和以前的1.X版本完全不兼容,所以今天我们还是先来使用1.X的版本,等时间再久一点,2.0版本稳定并且使用量大了之后再升级

1.X版本最新的版本是1.2.17,但是现在Log4j的官网首页是只提供2.0的jar包下载,所以千万别被他迷惑了,虽然2.0的包下载下来也有一个1.2版本的包,但是那是2.0的,不是以前的1.2。

我们打开Log4j的历史版本页面,进行下载
地址:http://archive.apache.org/dist/logging/log4j/
你可以看到里面都是Log4j以前的版本,而其中1.X最新的版本是13年2月份更新的1.2.17版本。
我们直接下载:
jar(架包):http://archive.apache.org/dist/logging/log4j/1.2.17/log4j-1.2.17.jar
tar.gz(架包+源打包):http://archive.apache.org/dist/logging/log4j/1.2.17/log4j-1.2.17.tar.gz

下载完之后我们开始进行Log4j的初步使用

1.首先将jar包放入项目的lib库中

我的项目是IDEA的项目,所以lib在跟目录下,不过一般正常的javv web应用的lib都是web目录下的

2.将jar包放入之后,我们添加使用Log4j的配置文件
把配置文件放在classpath目录下,一般我们的正常情况都是都是放在src根目录下就可以了

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

#定义Log4j输出的日志级别

#TRACE < DEBUG < INFO < WARN < ERROR < FATAL

log4j.rootCategory=DEBUG,stdout

#  Log4j提供的appender有以下几种:

#  org.apache.log4j.ConsoleAppender(控制台)

#  org.apache.log4j.FileAppender(文件)

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

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

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

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#  Log4j提供的layout有以下几种:

#  org.apache.log4j.HTMLLayout(以HTML表格形式布局),

#  org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

#  org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

#  org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.threshold=DEBUG

#    %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

#    %r 输出自应用启动到输出该log信息耗费的毫秒数

#  %c 输出所属的类目,通常就是所在类的全名

#  %t 输出产生该日志事件的线程名

#  %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”

#  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似: 20021018221028921

#  %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

#    %f 输出文件名 如Test_Log4J.java

#   [%c{1}就是将class名从右开始输出几个部分,输出的是,Test_Log4J.如果将1改为2,则输出为test.Test_Log4J.

log4j.appender.stdout.layout.ConversionPattern=[%d{yyy-MM-dd HH:mm:ss,SSS}]-[%p]-[MSG!:%m]-[%c\:%L]%n

解释一下上面的配置 ,虽然有注释,我定义stdout的log4j输出对象,他的输出级别是DEBUG,从上面的注释看到,DEBUG是大于TRACE级别,但是小于INFO级别,所以正常情况来说这个对象只会输出DEBUG或者DEBUG以上级别的信息,而TRACE级别的信息他会忽略掉,
然后我将他说的输出对象 设置 为ConsoleAppender 也就是直接输出到控制台
最后指定他的输出格式PatternLayout:[%d{yyy-MM-dd HH:mm:ss,SSS}]-[%p]-[MSG!:%m]-[%c\:%L]%n
所以正常情况输出的信息应该会是这样的

?


1

[2013-11-11 23:48:30,062]-[INFO]-[MSG!:测试]-[org.out.HelloOut:26]

时间-级别-输出信息-输出的类

3.有了上面的配置文件后,我们写一个测试类,测试一下是否配置成功,能够输出日志 
代码如下:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

package org.test;

import org.apache.log4j.Logger;

public class Log4jTest {

    private static final Logger log = Logger.getLogger(Log4jTest.class);

    public static void main(String[] args) { <span></span>  <span></span> <span></span>      <span></span>         

        log.trace("TRACE:测试输出1");

        <span></span>log.debug<span></span>("DEBUG:测试输出2");

        log.info("INFO: Log4j 输出测试成功");

    }

}

4.运行上面的代码之后我们最终会出现下面这样的结果

?


1

2

[2013-11-12 00:19:16,562]-[DEBUG]-[MSG!:DEBUG:测试输出2]-[org.test.Log4jTest:18]

[2013-11-12 00:19:16,562]-[INFO]-[MSG!:INFO: Log4j 输出测试成功]-[org.test.Log4jTest:19]

我们发现测试1是没有输出的,那说明我们的配置成功了,只输出了Debug级别和Debug级别以上的日志,并且输出到了控制台

5.配置成功.

时间: 2024-12-30 20:56:44

Log4j 基本配置的相关文章

Log4j:log4j.properties 配置解析

Log4j 三个主要组件 Loggers(记录器):记录日志的工具,程序中就是用它来记录我们想要的日志信息. Appenders (输出源):日志输出到什么地方,可以是控制台.文件.流位置.数据库,等等. Layouts(布局模式):日志需要记录哪些基本信息,用什么样的格式去记录展示这些信息. 一个 Logger 最少要有一个 Appender,一个 Appender 有一个 Layout. Loggers 记录器在 Log4j 中就是 Logger 类的实例对象,下面是该类中定义的一些主要方法

java之log4j的配置

log4j有很多的优点,用起来很方便,就是配置起来有些麻烦,下面我介绍一下log4j的配置方法. log4j是用来记录日志的. 软件的运行过程离不开日志.日志主要用来记录系统运行过程中的一些重要的操作信息,便于监视系统运行情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到发生的原因. 日志根据记录内容的不同,主要分成以下3类: SQL日志:记录系统执行的SQL语句. 异常日志:记录系统运行中发生的异常事件. 业务日志:记录系统运行过程,如用户登录,操作记录. 要使用log4j

Log4j的配置和使用

1.Log4j简介 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.邮箱等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码. 2.应用场景 1.生产服务器或者测试服务器的日志输出 本地开发中IDE可以直接控制台输出(菜鸟的行为),可是程序在远程服务器上如何查看呢?通过log4j,可以配置项目

karaf加入自定义log4j的配置

配置文件: karaf_home/etc/org.ops4j.pax.logging.cfg 加入配置: ### direct log messages to stdout ### log4j.appender.consoleout=org.apache.log4j.ConsoleAppender log4j.appender.consoleout.layout=org.apache.log4j.PatternLayout log4j.appender.consoleout.layout.Con

log4j.properties 配置

Log4j默认把日志信息分为五个等级: debug < info < warn < error < fatallog4j.rootLogger=INFO   #根配置,在此表示INFO级别以下的日志不记录(debug级别的日志就不会被记录了),如果你还想记录到其他地方,可以继续加,以英文逗号分割即可(INFO,console,file,其中console,file是另外的日志名,也是需要配置的.)一旦配置在了根下面,那么所有满足条件的日志都会记录到这个日志文件中(比如,file日志

Log4j rootLogger配置

Log4j 根配置语法 log4j.rootLogger = [ level ] , appenderName, appenderName, - 指代 把指定级别的日志信息输出到指定的一个或者多个位置 我们依然沿用前面的实例, 这里我们把INFO层级以及以上的信息输出到Console和File;

Log4J的配置 及多个logger配置实例

Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境. Log4j配置介绍 1. 配置文件 Log4J配置文件的基本格式如下:  #配置根Logger log4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  - #配置日志信息输出目的地Appender log4j.

log4j.properties配置详解与实例

log4j.properties配置详解与实例-全部测试通过 最近使用log4j写log时候发现网上的写的都是千篇一律,写的好的嘛不全,写的全一点的嘛没有一点格式,看着累.这里把网上收集到的整理了一下,并且全部都在机器上测试成功了.这么好的文档估计没有了吧? ################################################################################ #①配置根Logger,其语法为: # #log4j.rootLogger =

Log4J的配置与使用详解

一.简介 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程. Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN.INFO.DEBUG,分别用来指定这条日志信息

【log4j】配置

#输出格式#%m 输出代码中指定的消息#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL#%r 输出自应用启动到输出该log信息耗费的毫秒数#%c 输出所属的类目,通常就是所在类的全名#%t 输出产生该日志事件的线程名#%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10