以下为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网站流量...
### SYSLOG日志数据采集实现 #### 一、引言 在网络安全管理中,日志数据的采集至关重要。通过对各种安全设备的日志信息进行收集与分析,可以及时发现潜在的安全威胁,确保网络环境的安全稳定。SYSLOG作为一种广泛...
系统通常会自动记录日志到特定的文件或数据库中,例如在Web应用服务器中,NMS(网络管理系统)如WebNms可能会将数据库操作记录在`WebNmsDB.sql`这样的文件中。这个文件可能包含了对WebNms数据库的各种增删改查操作,...
通过本文的介绍,我们可以了解到如何利用MySQL的二进制日志来恢复误删的数据。在实际操作中,应根据具体情况灵活运用上述方法,并结合定期备份策略来保障数据的安全性。希望本文能够帮助读者更好地理解和掌握MySQL的...
"WEB服务器日志数据"这个主题涉及到的知识点广泛,包括日志文件的结构、内容、分析方法以及其在WEB挖掘中的应用。 1. **日志文件结构**:Web服务器日志文件通常遵循特定格式,如IIS(Internet Information Services...
- **数据存储**:将预处理后的数据存储到关系数据库或数据仓库中。 2. **模式识别**:利用路径分析、关联规则、序列模式发现等数据挖掘技术来识别用户访问模式。 3. **模式分析**:对挖掘出的模式进行深入分析,...
介绍了数据挖掘的定义,分析了日志数据面临的挑战及对其进行挖掘的原因。讨论了日志数据挖掘的需求,归纳了对日志数据挖掘的具体内容,总结了日志数据挖掘的具体应用。该研究对加强企事业单位计算机信息系统安全具有...
Log Explorer主要用于对MSSQLServer的事物...l 将日志记录导出到文件或者数据库表 l 实时监控数据库事物 l 计算并统计负荷 l 通过有选择性的取消或者重做事物来恢复数据 l 恢复被截断或者删除表中的数据 l 运行SQL脚本
例如,我们可以在程序启动时设定一个默认的日志路径,然后将所有日志数据写入到这个路径下的文件中。 当涉及“设置日志文件存储大小”时,通常意味着实现日志文件的滚动策略。当日志文件达到特定大小时,程序会自动...
日志数据挖掘面临的挑战包括数据量过大、数据不足、记录来源多样和数据重复。由于日志数据的体积可能达到数GB甚至数TB的规模,因此需要专门的工具来处理这种数据“洪泛”。数据不足是指关键数据的缺失,这会导致日志...
西门子S7-1200 PLC数据日志功能的应用 文章主要探讨了西门子S7-1200可编程逻辑控制器(PLC)在数据日志记录方面的作用及其应用优势。随着工业自动化与信息化的不断深入,PLC已成为控制系统的核心组件。PLC不仅能够...
"SqlServer日志恢复数据工具"就是针对这种情况设计的,它能够从SQL Server的日志文件中提取并恢复数据,确保业务连续性和数据完整性。本文将深入探讨这个工具及其工作原理,以及如何使用它进行数据恢复。 1. SQL ...
1. 实际日志数据获取成本高:实际日志数据可能涉及用户隐私,获取和使用受到严格限制。 2. 测试与验证:模拟数据用于测试新功能、算法或系统的性能,无需担心对真实用户造成影响。 3. 数据量需求:大数据分析往往...
《日志易——数据驱动的智能运维平台》 在当今的IT行业中,数据的重要性不言而喻,尤其在运维领域,日志数据是洞察系统运行状况、定位问题的关键。日志易作为一款数据驱动的智能运维平台,它充分利用大数据技术,为...
在SQL Server 2005到2008版本中,日志文件(.ldf)存储了这些日志条目,它们对于理解数据库的状态变化和在系统崩溃时进行回滚或前滚操作至关重要。 操作日志,也称为交易日志,记录了数据库中的每个事务。当一个...
在大数据处理领域,Hadoop是一个不可或缺...总的来说,这个项目深入探讨了如何利用Hadoop和MapReduce对大规模日志数据进行分析,涉及到大数据处理的基本流程和关键技术,对于学习和提升大数据处理技能具有很高的价值。
解压数据源,并上传到hdfs,保存的目录以个人学号区分,176为我的学号 创建hive表 编写MapReduce程序实现数据清洗,去掉不满足长度为6,并保证输出数据以 ','分割 将清洗后的数据导入Hive 使用SQL查询搜索结果排名第...
通过配置和管理好这些日志,我们可以提高系统的可维护性,减少数据损失的风险,并在出现问题时迅速恢复到正常状态。在实际操作中,结合定期备份和合理的日志管理策略,可以极大地提升数据库系统的健壮性和可用性。
一种常见方法是使用BI工具(如Tableau、Power BI)直接连接Hadoop集群获取数据,或者将数据导入到数据仓库(如Hive、Impala),再由后端服务(如Node.js、Python Flask)提取数据并渲染图表。 5. **Hadoop组件详解*...