log4j下载地址:

http://logging.apache.org/log4j/1.2/download.html

本人用的是log4j-1.2.17.jar的jar包。 接下来我们配置下一log4j

第一步 加载log4jjar包

首先,我们先在项目中创建一个文件夹,

右键你的项目,选择New,选择Folder,命名为lib,然后点击Finish。

把你下载的jar包复制到此文件夹

然后右击你的log4j,选择Build path,然后在选择Add to Build path现在就加载完成了。

第二步 创建log4j.properties。

右键你项目中的src,选择New,选择File,命名为log4j.properties,(不能改名字,因为它是写死的,不能改变。)点击Finish完成。

第三步:配置log4j

在这个页面中填写代码:

代码填写为:

log4j.rootLogger=debug, stdout,logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=jbit.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss}%l %F %p %m%n

然后保存。

第四步:编写测试类。

public static void main(String[] args) {
// TODO Auto-generated method stub
Logger logger=Logger.getLogger(Test.class.getName());
int num1=;
int num2=;
try {
System.out.println(num1/num2);
} catch (Exception e) {
logger.debug("除数不能为0"+num2);
} }

运行结果就是:

我给大家介绍一下编写log4j.properties里代码的意思。

输出级别设置:

log4j.rootLogger=debug, stdout,logfile

 
fatal 指出严重的错误事件将会导致应用程序的退出。
error 指出虽然发生的错误事件,但仍然不影响系统的继续运行。
warn 表明会出现现在错误的情形。
info 在粗粒级别上指明消息,强调应用程序的运行过程。
debug 指出细粒度信息事件,对调试应用程序是非常有帮助的。

他们的优先级别是 : fatal>error>warn>info>deb

输出目的地:log4j.rootLogger=debug, stadout,logfile

其中stadout,logfile指的是日志输出目的地的名字。

ConsoleAppender:输出日志事件到控制台。

FileAppender:输出日志事件到一个文件。

日志布局类型layout

Appender必须使用一个与之相关联的布局类型Layout,用来制定它的输出样式。

log4j中常用的layout有一下三种

1.HTMLLayout:格式化日志输出为HTML表格。

2.SimpleLayout:以一种非常简单的方式格式化日志输出,它输出级别Level,然后跟一个破折号“—”,最后是日志消息。

3.PatternLayout:根据指定的转换模式格式化日志输出,从而支持丰富多样的输出格式,需要配置layout.ConversionPattern属性,

若没有配置该属性,则使用默认的转换模式。

转换模式ConversionPattem

对于PatternLayout,需要配置layout.ConversionPattern属性,常用的配置参数及含义。

1.%d :用来设置输出日志的日期和时间,默认格式为ISO8601。

2.%m :用来输出代码中指定的消息。

3.%n :用来输出一个回车换行符。

4.%p:用来输出优先级,即debug、info、warn、error、fatal等。

5.%F :用来输出文件名。

6.%M :用来输出方法名。

Java log4j使用的更多相关文章

  1. Java log4j详细教程

    Java log4j详细教程 http://www.jb51.net/article/74475.htm

  2. java log4j基本配置及日志级别配置详解

    java log4j日志级别配置详解 1.1 前言 说出来真是丢脸,最近被公司派到客户公司面试外包开发岗位,本来准备了什么redis.rabbitMQ.SSM框架的相关面试题以及自己做过的一些项目回顾 ...

  3. ELK 记录 java log4j 类型日志

    ELK 记载  java log4j 时,一个报错会生成很多行,阅读起来很不方便. 类似这样 解决这个问题的方法 1.使用多行合并 合并多行数据(Multiline) 有些时候,应用程序调试日志会包含 ...

  4. 从零开始学 Java - log4j 项目中的详细配置

    你还会用笔来写字么 我是不怎么会了,有时候老是拿起笔之后不知道这个字怎么写,这时候就会拿起手机去打出来:有时候还会写出来这个字之后越看越不像,这时候就开始怀疑自己的能力了:有时候写出来了一大堆字之后, ...

  5. Java log4j的环境搭建

    一.Log4j是什么? Log4j是Apache的一个开源代码项目,通过使用Log4j,我们可以控制日志信息输出的目的地.最常见的就是输出到控制台或者日志文件.同时,它强大的一点是可以在C.C++等其 ...

  6. java Log4j日志配置详解大全

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  7. java log4j日志配置

    1.首先看pom.xml文件,需要以下配置 <dependency> <groupId>log4j</groupId> <artifactId>log4 ...

  8. Java log4j slf4j 日志配置笔记

    http://www.cnblogs.com/Scott007/p/3269018.html 日志的打印,在程序中是必不可少的,如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender, ...

  9. ecliplse java log4j 配置

    log4j的一些配置 a). 新建JavaProject>>新建package>>新建Java类: b). import jar包(一个就够),这里我用的是log4j-1.2. ...

  10. java Log4j封装,程序任何位置调用

    一般写log4j,每个类都会定义一个logger 明显这样太麻烦了, 然后封装了一下,明显好用多了. package tools; import java.io.IOException; import ...

随机推荐

  1. XRD 数据处理:使用 Origin 进行多谱图对比

    如果一个实验制备了 4 种不同条件下的样品,并分别测得了它们的 XRD 衍射谱图,那么在数据处理中如何用 Origin 软件得到一张多谱图对比的图呢? 样品间的谱图对比 如果只是谱图样品间对比(以 4 ...

  2. 给定一个无序数组arr,求出需要排序的最短子数组长度。例如: arr = [1,5,3,4,2,6,7] 返回4,因为只有[5,3,4,2]需要排序。

    思路 首先从左往右遍历,然后设定一个Max,如果遍历的过程中array[i]大于Max,则置换Max,若小于Max,则指定 k 记录该位置. 然后再从右往左遍历,设定一个Min,在遍历的过程中arra ...

  3. git分支管理之多人协作

    当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote: $ git r ...

  4. JUnit4在Eclipse中的使用

    测试是项目开发中很重要的一环.实际上,建议的项目前期编写过程是:构思-> 编写单元测试代码-> 编写接口->编写实现类-> 测试实现类->编写主类....JUnit是一个 ...

  5. [算法题] Remove Duplicates from Sorted Array

    题目内容 本题来源于LeetCode Given a sorted array, remove the duplicates in place such that each element appea ...

  6. javascript的词法作用域

    这个概念是js中相当基础也是极为重要的,很多想当然的错误或感觉怪异的问题都是和这个东西有关.所以,本文主要说下这个名词的概念以及讨论下他牵扯出来的有关变量.函数.闭包的问题. 由变量开始谈 习惯性先来 ...

  7. python学习===从一个数中分解出每个数字

    题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1 ...

  8. python时间序列分析

              题记:毕业一年多天天coding,好久没写paper了.在这动荡的日子里,也希望写点东西让自己静一静.恰好前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家 ...

  9. sqlite 的基本使用3

    AND 运算符和OR运算符 这两个运算符一般被称为连接运算符,用来缩小sqlite所选的数据 AND 运算符是当所有的条件都为真时,表达式才为真 sqlite and name = "bb& ...

  10. FTP服务

    FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 "文传协议" 用于Internet上的控制文件的双向传输.同时,它也是一个应用程序( ...