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.运行结果:

时间: 2024-08-24 10:38:04

log4j的使用(1) —— 简单入门篇的相关文章

漫游Kafka入门篇之简单介绍

原文地址:http://blog.csdn.net/honglei915/article/details/37564521 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳. 将向Kafka topic发布消息的程序成为producers. 将预订topics并消费消息的程序成为consumer. Kafka以集群的方式运行,

log4cxx入门篇

log4cxx入门篇 先看官网:http://logging.apache.org/log4cxx/index.html 转载自:http://wenku.baidu.com/view/d88ab5a9d1f34693daef3e62.html 摘要 Log4cxx是开放源代码项目ApacheLoggingService的子项目之一,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计.本文对log4cxx的使用及配置进行介绍,并给出一个可以快速开始的实例.最后,针对日志服务给出一些

《Java从入门到放弃》入门篇:springMVC数据校验

昨天我们扯完了数据传递,今天我们来聊聊数据校验的问题.来,跟着我一起读:计一噢叫,一按艳. 在springMVC中校验数据也非常简单,spring3.0拥有自己独立的数据校验框架,同时支持JSR303标准的校验框架. Spring的DataBinder在进行数据绑定时,会同时调用校验框架完成数据校验工作. 具体使用步骤如下: 1)导入数据校验的JAR包 2)在springmvc的配置文件中添加校验Bean 3)修改实体类,在属性上加上校验的注解 4)修改昨天的login4方法,加上校验的相关代码

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa

软件测试系列之入门篇

一.你知道软件测试有多重要吗? 在国际上,软件测试(软件质量控制)是一件非常重要的工程工作,测试也作为一个非常独立的职业.在IBM.Microsoft等开发大型系统软件公司,很多重要项目的开发测试人员的比例能够达到1:2甚至1:4. 在国内软件测试的地位还不够高,并且大多只停留在软件单元测试.集成测试和功能测试上.软件测试从业人员的数量同实际需求有不小差距,国内软件企业中开发人员与测试人员数量一般为5:1,因此,国内的软件测试产业化还有待开发和深掘. 说到这里不知道你反应是高兴还是失望?但是我却

微信小程序入门篇

微信小程序入门篇: 准备工作 IDE搭建 就不多说了,没有内测码去下载个破解版吧,我用了一下,学习完全够了!IDE破解版+安装教程 图片发自简书App 知识准备 JavaScrip还是要看看的,推荐教程 廖雪峰大神的博客 HTML+CSS 大概知道是干啥的就行 从零开始 微信小程序中就四种类型的文件 js ---------- JavaScrip文件 json -------- 项目配置文件,负责窗口颜色等等 wxml ------- 类似HTML文件 wxss ------- 类似CSS文件

Spring Boot干货系列:(一)优雅的入门篇

Spring Boot干货系列:(一)优雅的入门篇http://www.cnblogs.com/zheting/p/6707032.html  全篇参考:http://www.cnblogs.com/zheting/category/966890.html 前言 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做技术储备.   正文 首先声明,Spring Boot不是一门新技术,所以不用紧张.从本质上来说,

SQLAlchemy 教程 —— 基础入门篇

SQLAlchemy 教程 -- 基础入门篇 一.课程简介 1.1 实验内容 本课程带领大家使用 SQLAlchemy 连接 MySQL 数据库,创建一个博客应用所需要的数据表,并介绍了使用 SQLAlchemy 进行简单了 CURD 操作及使用 Faker 生成测试数据. 1.2课程知识点 学会用 SQLALchemy 连接数据库(MySQL, SQLite, PostgreSQL), 创建数据表: 掌握表数据之间一对一,一对多及多对多的关系并能转化为对应 SQLAlchemy 描述: 掌握使

响应式网页设计简单入门(强烈推薦!!!!)

响应式网页设计简单入门 Overview: 构造基本的HTML页面 动态加载样式表 Viewport 字体缩放 侧边栏 导航菜单 图片自适应 其他 总结 说到响应式网页设计(Responsive web design),最近在谷歌加上碰到个奇葩贴子,通过一个原始到无法再简单的网页Motherfucking Website及满屏幕的fuck道出了网页设计的真谛,这孩子不是个激进分子就是个报复社会型的货没错,虽然整篇文章就像是泼妇骂街,但我特么是笑着读完的.. 统计了下全文共用Fuck (包括fuc