log4j学习日记-写入数据库
1、首先创建日志数据库
用的是MySQL
CREATE TABLE `td_log` (
`lid` int(11) NOT NULL AUTO_INCREMENT,
`lusername` varchar(20) DEFAULT NULL,
`lmessage` varchar(200) DEFAULT NULL,
`lstartdate` varchar(30) DEFAULT NULL,
`level` varchar(20) DEFAULT NULL,
PRIMARY KEY (`lid`)
)
2、配置文件中的部分内容:
log4j.rootLogger=info,jdbc
#直接使用log4j包中的文件
log4j.appender.jdbc=org.apache.log4j.jdbc.JDBCAppender
#与数据库建立连接
log4j.appender.jdbc.URL=jdbc:mysql://localhost:3306/test
log4j.appender.jdbc.driver=com.mysql.jdbc.Driver
log4j.appender.jdbc.user=root
log4j.appender.jdbc.password=admin
log4j.appender.jdbc.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %t %c{2}:%L - %m%n
#指定要插入数据库的格式,与数据库字段对应,与一般SQL区别不大,只是加上了log4j的一些配置参数而已。
log4j.appender.jdbc.sql=insert into td_log(lusername, lstartdate, level, lmessage) values ('%X{lusername}','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')
3、日志工具类源码如下
/**
* 系统日志辅助类
* @author
* @date */
public class LogUtil{
/**
* 崩溃级别
* @param lusername
* @param message
*/
public static void fatal(Logger logger, String lusername,String message){
MDC.put("lusername", lusername);
logger.fatal(message);
}
/**
* 错误级别
* @param username
* @param message
*/
public static void error(Logger logger, String lusername,String message){
MDC.put("lusername", lusername);
logger.error(message);
}
/**
* 错误级别
* @param username
* @param message
*/
public static void error(Logger logger, String lusername, Object message){
MDC.put("lusername", lusername);
logger.error(message);
}
/**
* 消息级别
* @param logger
* @param username
* @param message
*/
public static void info(Logger logger, String lusername,String message){
MDC.put("lusername", lusername);
logger.info(message);
}
/**
* 警告级别
* @param username
* @param message
*/
public static void warn(Logger logger, String lusername,String message){
MDC.put("lusername", lusername);
logger.warn(message);
}
/**
* 调试级别
* @param username
* @param message
*/
public static void debug(Logger logger, String lusername,String message){
MDC.put("lusername", lusername);
logger.debug(message);
}
}
4、客户端调用源码
public class test{
private static Logger logger = Logger.getLogger(test.class);
public static void main(String[] args) {
LogUtil.info(logger, "wyw", "看看是否写入了数据库");
}
}
log4j学习日记-写入数据库的更多相关文章
- 怎样借助log4j把日志写入数据库中
log4j是一个优秀的开源日志记录项目.我们不仅能够对输出的日志的格式自定义,还能够自定义日志输出的目的地,比方:屏幕.文本文件,数据 库,甚至能通过socket输出.本节使用MySQ ...
- 使用log4j将日志写入数据库并发送邮件
参考: 快速了解Log4J 1.log4j的初始配置 参考该问的配置即可完整的实现写入数据库及发送邮件的功能 a.写入数据库需要配置相应的jar包,数据库类型不同,请使用指定的数据库配置,该文仅限于o ...
- 用log4j将日志写入数据库
以下为log4j中的配置参数: %m 输出代码中指定的消息 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL %r 输出自应用启动到输出该log信息耗费的毫秒数 %t 输出产 ...
- 使用log4j让日志写入数据库
之前做的一个项目有这么个要求,在日志管理系统里,需要将某些日志信息存储到数据库里,供用户.管理员查看分析.因此我就花了点时间搞了一下这一功能,各位请看. 摘要:我们知道log4j能提供强大的可配置的记 ...
- Log4j写入数据库详解
log4j是一个优秀的开源日志记录项目,我们不仅可以对输出的日志的格式自定义,还可以自己定义日志输出的目的地,比如:屏幕,文本文件,数据库,甚至能通过socket输出.本节主要讲述如何将日志信息输入到 ...
- (OAF)jdeveloper集成log4j并将日志输出到指定文件并写入数据库
参考: How to configure Log4j in JDev 11g Ever wanted to use log4j in your adf project ? Well though Or ...
- Log4j(一):Log4j将日志信息写入数据库
前言 为了监听一些数据的采集等功能,需要随时监听设备的状态,所以需要运行的时候将日志打入到数据库中. 正文 第一步: 首先是jar包,由于我使用的是springboot,所以,在springboot- ...
- flume学习(三):flume将log4j日志数据写入到hdfs(转)
原文链接:flume学习(三):flume将log4j日志数据写入到hdfs 在第一篇文章中我们是将log4j的日志输出到了agent的日志文件当中.配置文件如下: tier1.sources=sou ...
- log4j日志写入数据库
# log4j写入数据库 ### 前言-----------------------------log4j是写入日志到控制台和文件很常见,但是写入到数据库不多见.做性能测试写入到数据库,统计方便些. ...
随机推荐
- java转义xml中的多余尖括号
xml中的敏感字符是尖括号,如果xml的值中含有尖括号,那么在解析的时候就会报错,如: <?xml version="1.0" encoding="UTF-8&qu ...
- Linux下搭建Oracle11g RAC(2)----配置DNS服务器,确认SCAN IP可以被解析
从Oracle 11gR2开始,引入SCAN(Single Client Access Name) IP的概念,相当于在客户端和数据库之间增加一层虚拟的网络服务层,即是SCAN IP和SCAP IP ...
- Base64算法
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/4288372.html ...
- ASP.NET MVC 第六回 过滤器Filter
在Asp.netMvc中当你有以下及类似以下需求时你可以使用Filter功能 判断登录与否或用户权限 决策输出缓存 防盗链 防蜘蛛 本地化与国际化设置 实现动态Action Filter是一种声明式编 ...
- BroadcastReceiver和Intetnt的理解 Day34
BroadcastReceiver和Intetnt的理解 Day34 mobile4.0 短信监控 问题堆栈 1. 下载开源项目View.网址自己fork一下 2. ContentProvider原理 ...
- SQL使用存儲過程訪問不同服務器
用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB', 'sql服 ...
- vsftpd安装指南
如果您用的是Fedora 或Redhat 系统,可以用下面的命令在线安装: [root@localhost ~]# yum install vsftpd 如果是debian 类系统,可以用apt 来在 ...
- FOR XML PATH实现小九九
数据库环境:SQL SERVER2008R2 今天我们用SQL实现一下九九乘法表的功能. 实现的逻辑不是很复杂,难点在于怎么把想要的内容从同一列里头拼接到同一行上. 在这里,我们用到了FOR XML ...
- list集合中指定字段去重
在开发中,有时会需要指定字段去重,以下为实现方法: 假设有个房地产权的类,其中宗地代码ZDDM值重复,而我们在前端页面显示时,只需要一条数据,因为公共字段都一样: IEqualityComparer需 ...
- javascript 浏览器执行断点
在javascript代码里面有个语句可以让浏览器执行到这里的时候触发断点,这个命令就是 debugger 很好用