一.log4j框架

  • log4j可靠的,快速的,可扩展的(灵活的)日志框架
  • log4j具有高可配置性,可以通过外部配置文件来控制
  • log4j可以根据日志不同级别来过滤日志,
  • log4j可以将日志记录直接写到控制台,文件,数据库,UNIX系统日志
  • log4j的配置文件默认引用地址为PATH或者CLASSPATH所在目录当中(在src下面,第一层),标准名称=log4j.properties

  总结:首先log4j是一个日志框架,用来记录项目运行中的一些日志,而log4j的配置是通过外部的配置文件来实现,体现了这个框架的灵活性

     并且日志分级别过滤,更高级的是能将日志记录到很多地方.

二.log4j的maven引用和下载地址

  1.maven地址

   <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

  2.jar下载地址

  http://logging.apache.org/log4j/2.x/download.html

三.配置文件

  

  解释:

    第一行-------------初始化日志记录位置,日志过滤级别  (ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL)

    第二行-------------日志以什么方式打印(输出源)(file,DB,Console,)

    第三行-------------日志以什么格式打印(布局)(PatternLayout,HTMLLayout)

  

//1.输出源响应的实现类
//文件
file--->org.apache.log4j.FileAppender
//数据库
DB--->org.apache.log4j.JDBCAppender
     //控制台
     Console--->org.apache.log4j.ConsoleAppender //2.布局模式
   PatternLayout--->org.apache.log4j.PatternLayout    HTMLLayout--->org.apache.log4j.HTMLLayout

四.输出源参数解析

  一.数据库参数 (org.apache.log4j.JDBCAppender)

user 连接数据库的用户名
password 连接数据库的密码
URL 数据库的连接字符串
driver 连接数据库的驱动程序
sql 设置操作数据库的SQL语句                    

五.布局模式参数解析

  一.PatternLayout参数

M 打印日志请求的方法名称  method
C 输出日志打印请求的类名加包名,例:com.test.Test
X 打印日志记录请求的客户端地址
d 打印日志记录的当前时间%d{yyyy-MM-dd HH:mm:ss}
m 打印应用程序的一些信息
p 打印日志的过滤级别
n 输出一个当前系统的换行符

六.测试  

  1.日志记录文件测试

  log4j配置

logDir=D:/log
log4j.rootLogger=DEBUG,FILE log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${logDir}/log.txt log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n

  2.日志记录数据库测试

  log4j配置

log4j.rootLogger = INFO, DB

log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/Testlogs
log4j.appender.DB.driver=com.mysql.jdbc.Driver
log4j.appender.DB.user=****
log4j.appender.DB.password=****
log4j.appender.DB.sql=INSERT INTO log (logDate, logClientIP, logName, logLevel, logMsg) VALUES('%d','%X{clientIP}','%C','%p','%m') log4j.appender.DB.layout=org.apache.log4j.PatternLayout

数据库表      

CREATE TABLE log4j(
logId INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
logDate VARCHAR(10),
logClientIP VARCHAR(15),
logName VARCHAR(255),
logLevel VARCHAR(5),
logMsg VARCHAR(255)
); 七.java测试
package com.du20150626;

import org.apache.log4j.Logger;

public class Log4jTest {
/**
* log4j可靠的,快速的,可扩展的(灵活的)日志框架
* log4j具有高可配置性,可以通过外部配置文件来控制
* log4j可以根据日志不同级别来过滤日志,
* log4j可以将日志记录直接写到控制台,文件,数据库,UNIX系统日志
* log4j配置文件名称=log4j.properties 存放位置PATH或者CLASSPATH所在目录当中
*
*/
private static Logger log = Logger.getLogger(Log4jTest.class); public static void main(String[] args) {
log.debug("Debug ----> log4j debug");
log.info("info -----> log4j info");
log.info("info -----> log4j info");
log.debug("Debug ----> log4j debug");
log.info("info -----> log4j info");
log.info("info -----> log4j info");
log.info("info -----> log4j info");
}
}

 

log4j---------学习总结(一)的更多相关文章

  1. log4j学习(二) 不要用log4j了,用slf4j + logback吧

    标题比较尴尬,log4j学习系列的最后一篇是放弃log4j    - -!  一. 简介 log4j的作者提出了slf4j,简单日志门面,相当于是一套统一的java日志api,是个接口标准,编程时使用 ...

  2. Log4j学习

    学习链接: http://www.codeceo.com/article/log4j-usage.html http://www.blogjava.net/kit-soft/archive/2009/ ...

  3. log4j学习(一)最简单的例子

    前言: 之前笔者一直是在System.out中打日志的,由于笔者大部分时候是编写在tomcat容器里运行的一些个小web应用,所以这么做似乎没什么问题:打印出来的日志都可以在tomcat自己的log目 ...

  4. Log4j学习(使用流程,Log4j.properties配置文件,配置到多个不同目标)

    参考网址: [http://blog.csdn.net/drift_away/article/details/7403658] [http://blog.csdn.net/lxzo123/articl ...

  5. log4j学习一:解决系统日志错位问题

    这两天,开发的系统遇到了一个非常奇怪的问题,我们的前台程序会将日志时而输出到webapp.log,时而输出到其他日志文件如AlarmThreshold.log中,初看并无规律,但秉着“机器永远不会出错 ...

  6. log4j学习日记-写入数据库

    1.首先创建日志数据库 用的是MySQL CREATE TABLE `td_log` (   `lid` int(11) NOT NULL AUTO_INCREMENT,   `lusername` ...

  7. Log4j学习手记

    注:今天难得清闲,学了下log4j,参考博文 http://www.cnblogs.com/pony/archive/2008/08/25/1275484.html ,文字部分基本上来自该博文,我只是 ...

  8. log4j学习笔记

    在java文件中导入包: import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; 在所使 ...

  9. java中log4j学习笔记

    Log4j是apache的一个开源项目,用来操作程序日志信息的框架.因便于管理,在工程中用来代替System.out打印语句.通过配置Log4j中的log4j.properties,可以指定日志信息的 ...

  10. log4j学习总结

    一直使用log4j来记录日志,但是一直以来没有深入研究过log4j,最近研究了下log4j,下面总结一下: log4j配置: 1. 配置根Logger,其语法为: log4j.rootLogger = ...

随机推荐

  1. register_shutdown_function

    脚本时常死掉,而且并不总是那么好看. 我们可不想给用户显示一个致命错误,又或者一个空白页(在display_errors设为off的情况下) . PHP中有一个叫做  register_shutdow ...

  2. java 中多线程和锁的使用

    关键词: implements  实现  Runnable 类 run()  方法 注意点 : 创建类的实例 InterfaceController inter=new InterfaceContro ...

  3. sql 中英文格式的时间转数字格式

    select receiveBillDt,CONVERT(varchar(100), cast(receiveBillDt as datetime), 21),a.LoanDate from Prot ...

  4. 夺命雷公狗---DEDECMS----17dedecms头条信息的取出

    我们在有些开发时候可能会用到些头条的文章,,添加过程如下所示: 我们在前台遍历数据的时候可以这样, 然后在后台更新首页模版后在去看下首页,效果如下所示:

  5. 基于UP-CUP6410点灯实验完成

    远程点灯实验 实验目的: 实现远程点灯,通过gprs 自带调试软件发送信息,完成智能家具远程点灯实验. 1.定制arm系统 使用uboot资料自带的!在内核中添加pl2303串口驱动,进行u口转串口的 ...

  6. 最懂中文的H5前端框架amazeUI

    Amaze UI 是一个轻量级(所有 CSS 和 JS gzip 后 100 kB 左右)的前端框架, 基于开源社区流行前端框架编写 amazeUI的网址:http://amazeui.org/get ...

  7. yii2.0分页

    本实例是对商品列表进行分页 1.Controller中,商品列表的方法actionList 引用分页类 actionList中: $goods_info=Goods::find()->joinW ...

  8. 导出excel部分代码

    public static function header_file($doc,$file,$title,$type='Excel5'){ if(!empty($doc)){ $objWriter = ...

  9. android 项目学习随笔七(ViewPagerIndicator与ViewPager)

    1.ViewPagerIndicator https://github.com/JakeWharton/ViewPagerIndicator package com.viewpagerindicato ...

  10. USB HID介绍【转】

    本文转载自:http://blog.csdn.net/leo_wonty/article/details/6721214 HID是一种USB通信协议,无需安装驱动就能进行交互,在学习HID之前,先来复 ...