log4j---------学习总结(一)
一.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---------学习总结(一)的更多相关文章
- log4j学习(二) 不要用log4j了,用slf4j + logback吧
标题比较尴尬,log4j学习系列的最后一篇是放弃log4j - -! 一. 简介 log4j的作者提出了slf4j,简单日志门面,相当于是一套统一的java日志api,是个接口标准,编程时使用 ...
- Log4j学习
学习链接: http://www.codeceo.com/article/log4j-usage.html http://www.blogjava.net/kit-soft/archive/2009/ ...
- log4j学习(一)最简单的例子
前言: 之前笔者一直是在System.out中打日志的,由于笔者大部分时候是编写在tomcat容器里运行的一些个小web应用,所以这么做似乎没什么问题:打印出来的日志都可以在tomcat自己的log目 ...
- Log4j学习(使用流程,Log4j.properties配置文件,配置到多个不同目标)
参考网址: [http://blog.csdn.net/drift_away/article/details/7403658] [http://blog.csdn.net/lxzo123/articl ...
- log4j学习一:解决系统日志错位问题
这两天,开发的系统遇到了一个非常奇怪的问题,我们的前台程序会将日志时而输出到webapp.log,时而输出到其他日志文件如AlarmThreshold.log中,初看并无规律,但秉着“机器永远不会出错 ...
- log4j学习日记-写入数据库
1.首先创建日志数据库 用的是MySQL CREATE TABLE `td_log` ( `lid` int(11) NOT NULL AUTO_INCREMENT, `lusername` ...
- Log4j学习手记
注:今天难得清闲,学了下log4j,参考博文 http://www.cnblogs.com/pony/archive/2008/08/25/1275484.html ,文字部分基本上来自该博文,我只是 ...
- log4j学习笔记
在java文件中导入包: import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; 在所使 ...
- java中log4j学习笔记
Log4j是apache的一个开源项目,用来操作程序日志信息的框架.因便于管理,在工程中用来代替System.out打印语句.通过配置Log4j中的log4j.properties,可以指定日志信息的 ...
- log4j学习总结
一直使用log4j来记录日志,但是一直以来没有深入研究过log4j,最近研究了下log4j,下面总结一下: log4j配置: 1. 配置根Logger,其语法为: log4j.rootLogger = ...
随机推荐
- [转] FastJson---高性能JSON开发包
原文地址: FastJson---高性能JSON开发包 Fastjson介绍 Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发.1.遵循http://json.org标准,为 ...
- php CI框架目录结构及运行机制
CI目录结构 CI主要组成部分为,application(应用文件夹).system(系统文件夹)和index.php入口文件. 应用文件夹中主要是存放控制器.模型和视图等,系统文件夹中主 ...
- HDU 3308 LCIS(线段树)
Problem Description Given n integers.You have two operations:U A B: replace the Ath number by B. (in ...
- Struts2部署在Websphere上的问题
配置Mapped Filter:可以解决Struts2的项目部署在WebSphere6.1下面,发生Action找不到的情况. 应用程序服务器>[选择所使用的服务器]>Web 容器设置&g ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON DirectShow (Delphi Prism)
zw版[转发·台湾nvp系列Delphi例程]HALCON DirectShow (Delphi Prism) namespace DirectShow_Prism;interfaceuses Sys ...
- 【crunch bang】tint2配置2
# Tint2 config file # Background definitions # ID 1 rounded = 0 border_width = 0 background_color = ...
- 【海岛帝国系列赛】No.4 海岛帝国:LYF的太空运输站
50212228海岛帝国:LYF的太空运输站 [试题描述] 最近,“购物券”WHT在“药师傅”帝国资源大会上提出了“SSTS”太空运输站计划.由于恐怖分子前些日子刚猖狂完,炸毁高楼无数,YSF不得不执 ...
- co css规范
CSS 编码规范 1. 文件组织 (建议试试LESS) 1.1 CSS 与 HTML CSS 一律写在 CSS 文件中,原则上不写内联样式. CSS 文件命名由小写字母.下划线(_)组成. CSS 文 ...
- Qt可执行程序写入版本信息
[1]新建Qt工程 1.1 具体新建步骤不赘述. 1.2 新建工程后文件目录如下: 1.3 留意对比一下你的代码目录,可以发现我的文件目录中多了一个rc类型的资源文件.那么,它也就是关键点. 1.4 ...
- [转]bit与byte
本文为转载,感谢博主的分享.原文地址:http://www.cnblogs.com/flyme/archive/2011/08/25/2153596.html bit意为“位”或“比特”,是计算机运算 ...