log4j的使用(1) —— 简单入门篇

这里会介绍三种打印日志的方法:控制台Console,文件File,数据库DataBase

1.下载lo4j的jar包并导入project

2.因为要在数据库添加日志,所以先新建一个库,并新建打印日志的表。

    在mysql里新建database:log4j,然后在log4j库里新建table:

 1 CREATE TABLE log4j
 2 (
 3     logId INT NOT NULL AUTO_INCREMENT,/*流水号*/
 4     createDate VARCHAR(45) DEFAULT NULL,/*日志生成时间*/
 5     thread VARCHAR(45) DEFAULT NULL,/*当前线程*/
 6     LEVEL VARCHAR(45) DEFAULT NULL,/*当前日志的级别*/
 7     class VARCHAR(45) DEFAULT NULL,/*生成日志的类*/
 8     message VARCHAR(245) DEFAULT NULL,/*日志具体信息*/
 9     PRIMARY KEY(logId)
10 )

3.在src目录下新建文件:log4j.properities

.在log4j.properities文件中添加配置:(具体怎么写,个人建议不需要记,能理解并且会用,用的次数多了熟而生巧。。。)

 1 #定义3种输出方式:Console,File,DataBase
 2 log4j.rootCategory=INFO,A1,A2,A3
 3 
 4 #定义A1输出到控制器
 5 log4j.appender.A1=org.apache.log4j.ConsoleAppender
 6 #定义A1的布局模式为PaternLayout
 7 log4j.appender.A1.layout=org.apache.log4j.PatternLayout
 8 # 定义A1的输出格式
 9 log4j.appender.A1.layout.ConversionPattern=%4p [%t] (%F:%L) - %m%n
10 
11 #定义A2输出到文件
12 log4j.appender.A2=org.apache.log4j.RollingFileAppender
13 #定义A2输出到哪个文件
14 log4j.appender.A2.File=E:\\logs\\test.log
15 #定义A2输出文件的最大长度
16 log4j.appender.A2.MaxFileSize = 1KB
17 #定义A2的备份文件数
18 log4j.appender.A2.MaxBackupIndex = 3
19 #定义A2的布局模式为PatternLayout
20 log4j.appender.A2.layout=org.apache.log4j.PatternLayout
21 #定义A2的输出模式
22 log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n
23 
24 #定义A3输出到数据库
25 log4j.appender.A3=org.apache.log4j.jdbc.JDBCAppender
26 log4j.appender.A3.URL=jdbc:mysql://localhost:3306/log4j
27 log4j.appender.A3.driver=com.mysql.jdbc.Driver
28 log4j.appender.A3.user=root
29 log4j.appender.A3.password=root
30 #定义A3的布局和执行的SQL语句
31 log4j.appender.A3.layout=org.apache.log4j.PatternLayout
32 log4j.appender.A3.layout.ConversionPattern=INSERT INTO log4j(createDate,thread,level,class,message) values(\'%d\',\'%t\',\'%-5p\',\'%c\',\'%m\')

5.编写Java代码:在src下新建com.log4j.test.Test1.java类

package com.log.test;

import java.io.IOException;
import java.util.Properties;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

/**
 * 将日志输出到控制台、文件、数据库
 * <一句话功能简述>
 * <功能详细描述>
 * 
 * @author  Administrator
 * @version  [版本号, 2015年9月1日]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 * @author 95杨
 */
public class Test1
{
    static Logger logger = Logger.getLogger(Test1.class.getName());
    public static void main(String[] args) throws IOException
    {
        Properties pro = new Properties();
        pro.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("log4j.properities"));
        PropertyConfigurator.configure(pro);
        logger.debug("--debug start");
        logger.info("info...");
        logger.warn("warn...");
        logger.error("error...");
        logger.fatal("fatal...");
    }
}

6.运行结果:

 

posted @ 2015-09-02 00:06  艺言弈行  阅读(401)  评论(0编辑  收藏  举报