`
Java_大猫
  • 浏览: 170493 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

log4j插入数据库,并生成HTML(一)

阅读更多
上周接到了一个模块。需要实现Log4j监控 管理员的操作,并且存入数据库中,同时要在JSP页面显示结果,并生成HTML文件。每300条显示生成一条记录。
在经过自己的努力和师父等朋友们的 指导下,完成了。
今天贴出来,和大家分享,有好东西大家开源下,日后学习,都会用的上。
首先,先看log4j插入数据库的操作:

首先项目中导入Log4j的jar,配置好他的log4j.properties文件
log4j.rootLogger=WARN,DATABASE
# imporin jdbc.jar
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
# connection  
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=viken
# sql
log4j.appender.DATABASE.sql=INSERT INTO log4j (Username,Class,Method,CreateTime,LogLevel,MSG) VALUES('%X{userName}','%C,%L','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout


ps:sql 语句:
log4j.appender.DATABASE.sql=INSERT INTO log4j (Username,Class,Method,CreateTime,LogLevel,MSG) VALUES('%X{userName}','%C,%L','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')



接下来时在实现类中加入log4j调用。
import org.apache.log4j.Logger;
import org.apache.log4j.MDC; 

public class DaoImp implements UserDao {
	private static Logger log=Logger.getLogger(DaoImp.class);
	public void Loign(User us) {
		
	System.out.println("-----------"+us.getUsername()+"登陆啦"+"------------");
	MDC.put("userName", us.getUsername());
	log.warn("管理员登陆啦~!!!");
	
	}


以上就完成了log4j的操作部分。

接下来 我们来查询他:

public List<Log4j> listall(int pageCount,int begin,int end) {
		List<Log4j> list=new ArrayList();
		Connection con=null;
		Statement stmt=null;
		ResultSet rs=null;
		DB db=new DB();
		String sql="select * from log4j order by CreateTime desc limit "+begin+","+end;
	
		try {
			stmt=db.getConnection().createStatement();
			rs=stmt.executeQuery(sql);
			while(rs.next()){
				Log4j lo=new Log4j();
				lo.setId(rs.getInt("id"));
				lo.setUsername(rs.getString("Username"));
				lo.setMethod(rs.getString("Method"));
				lo.setClasss(rs.getString("Class"));
				lo.setLogLevel(rs.getString("LogLevel"));
				lo.setCreateTime(rs.getString("CreateTime"));
				lo.setMessage(rs.getString("MSG"));
				list.add(lo);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return list;
	}
	
	public int getPages(int pageCount) {

		int pages = 0;
		int allrecorders = 0;
		DB db=new DB();
		String sql="select count(id) as count from log4j order by CreateTime desc";
		Statement stmt=null;
		ResultSet rs = null;
		
		try {
			stmt=db.getConnection().createStatement();
			rs=stmt.executeQuery(sql);
			if(rs.next())
				allrecorders = rs.getInt("count");
		}catch(Exception e)
		{
			e.printStackTrace();
		}
		if(pageCount>0)
		{
				pages =  (allrecorders+pageCount-1)/pageCount ;
			
		}
		return pages;
	}
	




分享到:
评论

相关推荐

    log explorer数据库日志恢复

    选择数据库-&gt;attach-&gt;左面对话框中browse-&gt;view log-&gt;就可以看到log记录了 点击“View DDL Commands”里面就有很多drop table 命令 点击下面的“undo”按钮是生成表结构的语句(create table ....) 点击下面的...

    Log Explorer for SQL Server v4.22

    服务器端代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...

    sql2000 Log Explorer4.2(含注册码)+汉化

    服务器端代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...

    Log Explorer for SQL Server v4.22 含注册机

    服务器端代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...

    Log Explorer4.2帮助文档

    服务器端代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...

    oracle数据库经典题目

    游标的作用是将数据库的中数据检索出来后缓存,可以被PL/SQL程序一行一行的读取并处理。支持一条、多条、零条记录的处理。 游标的基本操作步骤为: (1)声明游标,使用查询来定义游标的列和行 (2)打开游标,使用PL/...

    mysql数据库my.cnf配置文件

    # InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间 # 独立表空间优点: # 1.每个表都有自已独立的表空间。 # 2.每个表的数据和索引都会存在自已的表空间中。 # 3.可以实现单表在不同的数据库中...

    my-datagenerator:Mysql 数据生成器和 Apache DBunit GUI

    Apache DBunit 的 java Swing gui 和数据生成器,用于用随机数据填充 MySql 5.X 数据库。 功能列表: 清理所有数据库... 将生成的数据导出为sql插入语句用于调试目的的 Log4j 日志系统访问: : 了解更多信息和细节!!

    Excel导入SQL数据库

    A: 同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。 B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的...

    audit-log::bookmark_tabs:为用户行为在数据库中创建审核日志,包括用于查询日志的Web UI

    演示界面审核日志列表: 详细信息页面:安装将此行添加到您的应用程序的Gemfile中: gem "audit-log" 然后执行: $ bundle 生成文件: $ rails g audit_log:install用法在控制器中使用: class TicktsController &lt...

    informix 实用大全

    本书由专业Informix用户、数据库管理员、Informix管理员和应用程序开发员编写而成,把各大Informix产品的方方面面综合、深入地集中在一起,包括最新Informix产品的详细信息,如Informix Internet Foundation.2000...

    报修系统数据库设计.doc

    文档编号:DB001 版本号: 1.0 报修系统 数 据 库 设 计 开发单位: 开发负责人: 二〇一五年十一月十二日 目 录 1、 super_user_info(超级管理用户信息数据表) 2 2、 super_ log_info(超级管理员日志信息数据表) ...

    jexcelapi_2_6_12.zip

    Java Excel API—用于读取、写入和修改Excel电子表格的Java API JExcelApi Java Excel API是一个成熟的开放源码Java API,允许开发...支持使用Jakarta Commons logging、log4j、JDK 1.4 Logger等进行日志记录 更多...

    php网站广告管理插件 v2.0.rar

    当网站的广告比较多时,管理会很麻烦,本系统就是为方便网站上广告的管理而设计的网站插件程序,支持“广告内容 广告ID 广告备注 广告规格 ”等数种广告的搜索管理,让你很方便的查找到你加的广告并进行修改!...

    Baishop是一款B2C电子商务网站.zip

    可以生成通用的电子商务构建平台,您可以非常方便的开一个网上商店,在网上开展自己的生意。网站采用纯Java编写,基于JDK6.0 MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,...

    oracle使用dblink高速复制表数据的动态存储过程

    执行存储过程,通过指定目标数据库登录信息,动态生成dblink,打开游标,按批次插入本地指定表中,每批次1万条数据。同步记录和日志信息写在自动生成的sync_log表中。同步完成后自动删除动态生成的存储过程、dblink...

    php网站广告管理插件 v2.0

    当网站的广告比较多时,管理会很麻烦,本系统就是为方便网站上广告的管理而设计的网站插件程序,支持“广告内容 广告ID 广告备注 广告规格 ”等数种广告的搜索管理,让你很方便的查找到你加的广告并进行修改!...

Global site tag (gtag.js) - Google Analytics