以下为log4j中的配置参数:
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%t 输出产生该日志事件的线程名;
%n 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"
%d 输出日志时间的日期或时间,默认格式为ISO8601,也可以在其后指定格式,
比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2008年10月18日22:10:28:832
%c 输出所属的类目,通常就是所在类的全名,如“iNotes.Default”;
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数
%L 输出代码中的行数;
%F 输出代码中的文件名;
要注意大小写
在Java工程下,日志文件(log4j.properties)要放在src目录下,在web工程中,日志文件(log4j.properties)也要放在src根目录下。
在Action中的代码如下:
public class LoginUserAction extends Action {
private UserDao userDAO;
private static Logger log = Logger.getLogger(LoginUserAction.class);
/**
* 获得UserDAO的对象
* @param userDAO
*/
public void setUserDAO(UserDao userDAO) {
this.userDAO = userDAO;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse httpservletresponse)
throws Exception {
// 设置request的字符集
request.setCharacterEncoding("utf-8");
LoginUserForm loginform = (LoginUserForm) form;
log.warn("用户:"+loginform.getUsername()+"登陆"+" "+"IP:"+request.getRemoteAddr());
//调用方法获得一个LoginUserForm
loginform = (LoginUserForm)userDAO.getAccount(loginform);
return mapping.findForward("success");
}
}
private static Logger log = Logger.getLogger(LoginUserAction.class);
log.warn("用户:"+loginform.getUsername()+"登陆"+" "+"IP:"+request.getRemoteAddr());
注意一下红色的字,这两行主要是与日志关联的,第一红行是建立一个日志对象,第二个红行是要往数据库中写入的日志。
在log4j.properties中的代码:
log4j.rootLogger=WARN,DATABASE
#直接使用log4j包中的文件
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#与数据库建立连接
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=icy
#指定要插入数据库的格式,具体参数的格式看一开始给出的文档
log4j.appender.DATABASE.sql=INSERT INTO log4j (log_date, log_level, location, message) VALUES ('%d{ISO8601}', '%p', '%C,%L', '%m')
这样以来就可以向数据库中写入日志了。
本文出自 “乔磊的博客 学习 进步” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/357105
分享到:
相关推荐
基于Hadoop网站流量日志数据分析系统 1、典型的离线流数据分析系统 2、技术分析 - Hadoop - nginx - flume - hive - mysql - springboot + mybatisplus+vcharts nginx + lua 日志文件埋点的 基于Hadoop网站流量...
Log Explorer主要用于对MSSQLServer的事物...l 将日志记录导出到文件或者数据库表 l 实时监控数据库事物 l 计算并统计负荷 l 通过有选择性的取消或者重做事物来恢复数据 l 恢复被截断或者删除表中的数据 l 运行SQL脚本
行车记录数据日志数据集 数据说明: 该数据集包含驾驶员在各种条件下驾驶车辆时获得的数据,收集的数据被用来试图预测司机的行为,以改善变速箱控制。 第1列:以秒为单位的时间矢量 列2:来自OBD传感器的发动机转速 第...
介绍了数据挖掘的定义,分析了日志数据面临的挑战及对其进行挖掘的原因。讨论了日志数据挖掘的需求,归纳了对日志数据挖掘的具体内容,总结了日志数据挖掘的具体应用。该研究对加强企事业单位计算机信息系统安全具有...
syslog 使用UDP 作为传输协议,通过目的端口514(也可以是其他定义的端口 号),将所有安全设备的日志管理配置发送到安装了syslog 软件系统的日志服务器,syslog 日志服务器自动接收日志数据并写到日志文件中。
日志信息基本数据处理,日志信息基本数据处理
数据核对检查日志数据核对检查日志数据核对检查日志数据核对检查日志数据核对检查日志
mysql根据日志恢复数据详细步骤
互联网用户行为日志数据集.rar
一个基于数据仓库web日志的数据挖掘实例,有数据挖掘的相关方法
本次要实践的数据日志来源于国内某技术学习论坛,该论坛由某培训机构主办,汇聚了众多技术学习者,每天都有人发帖、回帖。至此,我们通过Python网络爬虫手段进行数据抓取,将我们网站数据(2013-05-30,2013-05-31)...
用于大数据测试数据日志数据!!
今日给大家介绍一下java 日志的数据脱敏的实现方法,可以更好的保护数据的安全,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
解压数据源,并上传到hdfs,保存的目录以个人学号区分,176为我的学号 创建hive表 编写MapReduce程序实现数据清洗,去掉不满足长度为6,并保证输出数据以 ','分割 将清洗后的数据导入Hive 使用SQL查询搜索结果排名第...
Web日志挖掘中数据预处理的研究Web日志挖掘中数据预处理的研究
一个通用的二进制日志数据分析工具系统源码。它能做什么? 分析任意格式的二进制数据,还能同时查看协议文档 逐字节、逐位分析 手动、自动分析 对分析结果建透视图,发现规律,学习协议 怎么做到的 工具以插件化...
c++ 记录日志到文件
Web日志数据挖掘模型研究Web日志数据挖掘模型研究
WEB服务器日志数据,可用于WUM的相关实验。
Web日志挖掘数据预处理技术的研究与实现