Javaweb记录日志到数据库和文件中
来源:互联网 发布:java个人信息管理系统 编辑:程序博客网 时间:2024/05/21 15:45
=============jsp页面===================
// 封装的js函数,可通用
/**
*title:标题
*content:详细内容
*target: 记录到哪里(1=数据库(default),2=文件,3=数据库+文件)
*type:日志种类(1=服务器运行日志(default),2=SQL日志,3=用户动作日志),
*level:日志等级(1=普通(default),2=中等,3=警告,4=出错,5=危险)
*/
var log=function (title,content,type,level,target){
if(title==null||content==null){return;}
if(targer==null||targer<1||targer>3){target=1;}
if(type==null|type<1||type>3){type=1;}
if(level==null|level<1||level>5){level=1;}
$.ajax({
type : “POST”,
url : “xxx!log.action”,
data : {
“log.title”:title,
“log.content”:content,
“log.target”:target,
“log.type”:type,
“log.level”:level
},
async : true,
success : function(data) {
// nothing..
}
});
};
//比如:
try {
} catch (e) {
log(“登录失败”,”用户致远尝试连续10次登录账户,均失败”,3,1);
}
try {
} catch (e) {
log(“系统出错”,”Caused by: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.”,1,4);
}
try {
} catch (e) {
log(“页面出错”,e.message);
}
//========================JavaBean==============
package test;
import java.util.Date;
/**
* 2017/07/13
* @author king
*
*/
public class Log {
private Integer id; // mysql自增主键private String title; // 日志标题private String content; // 日志详细内容,如服务器报错信息,SQL语句, 用户执行了某种敏感操作等private String ip; // 用户IP地址,无法获取到默认为 "0.0.0.0"private String userid; // 用户名,能记录到谁引发的错误就记录,否则就默认为匿名 "ANONYMOUS"private Integer target; // 记录日志到哪里(1=数据库(default),2=文件,3=数据库+文件)private Integer type;// 日志种类(1=服务器运行日志(default),2=SQL日志,3=用户动作日志)private Integer level;// 日志等级(1=普通(default),2=中等,3=警告,4=出错,5=危险)private Date logTime; // 日志记录的时间public Log() { super();}public Log(String title, String content, String ip, String userid, Integer target, Integer type, Integer level ) { super(); this.title = title; this.content = content; this.ip = ip; this.userid = userid; this.target = target; this.type = type; this.level = level;}public Log(String title, String content) { super(); this.title = title; this.content = content;}public String getIp() { return ip;}public void setIp(String ip) { if (ip == null || "".equals(ip)) { this.ip = "0,0,0,0"; } else { this.ip = ip; }}public String getUserid() { return userid;}public void setUserid(String userid) { if (userid == null || "".equals(userid)) { this.ip = "ANONYMOUS"; } else { this.userid = userid; }}public Integer getId() { return id;}public void setId(Integer id) { this.id = id;}public String getTitle() { return title;}public void setTitle(String title) { this.title = title;}public String getContent() { return content;}public void setContent(String content) { this.content = content;}public Integer getTarget() { return target;}public void setTarget(Integer target) { if (target == null) { this.target = 1; } else { this.target = target; }}public Integer getType() { return type;}public void setType(Integer type) { if (type == null) { this.type = 1; } else { this.type = type; }}public Integer getLevel() { return level;}public void setLevel(Integer level) { if (level == null) { this.level = 1; } else { this.level = level; }}public Date getLogTime() { return logTime;}public void setLogTime(Date logTime) { if (logTime == null) { this.logTime = new Date(); } else { this.logTime = logTime; }}
}
//=================Action 类 ==========
package test;
import java.util.Date;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;
/**
* 2017/07/13 此Action用于记录日志用,可保存日志到数据库和文件中去
*
* @author king
*
*/
public class LogAction implements Action {
private Log log;public String log() { if (log == null || log.getTarget() == null) { return "NOLOG"; } log.setIp(ServletActionContext.getRequest().getRemoteAddr()); log.setLogTime(new Date()); switch (log.getTarget().intValue()) { case 1: // 保存日志到(mysql)数据库中去 // xxxdbserice.save(log); break; case 2: // 保存日志信息到文本文件中去 // xxxfileserice.save(log); break; case 3: // 同时保存 日志到文本文件到数据库和文件中去 // xxxfileserice.save(log); // xxxdbserice.save(log); break; } return "success";}public Log getLog() { return log;}public void setLog(Log log) { this.log = log;}
}
// ============Mysql 数据库表================
table log:
id int(11),
title varchar(128),
content varchar(1024),
ip varchar(15) default “0,0,0,0”,
userid varchar(64),
type tinyint(2) default 1,
level tinyint(2) default 1,
logTime date
- Javaweb记录日志到数据库和文件中
- python输出日志到控制台和文件
- 图片和文件如何存到数据库
- JAVA项目中,配置LOG4j,将日志按照不同级别输出到控制台和文件中
- log4j记录日志到数据库中
- Log4j 2 同时输出日志到控制台和文件
- 输出日志到控制台和文件(Java项目)
- 使用FSO把数据库记录和文件一起删除
- log4j日志记录到数据库
- Javaweb项目中使用Log4j记录日志
- 转贴:将log4net日志记录到数据库中
- 转贴:将log4net日志记录到数据库中
- cygwin中把编译信息输出到屏幕和文件
- [转]数据库中三大问题约束、CASE语句和文件
- p6spy2.x配置为slf4j-log4j输出日志同时到控制台和文件
- Python 日志向控制台和文件输出
- 使用log4j 记录日志到数据库
- log4j将记录日志保存到数据库
- jquery 插件开发/插件编写$.fn.extend(),$.extend()
- @Embedded和@Embeddable
- TCP报文段首部分析详解
- Codeforces 828 C String Reconstruction
- c/c++整理--重载运算符
- Javaweb记录日志到数据库和文件中
- 014 Python语法之文件与异常
- openGL 3D图形和openGL简介
- Eclipse安装svn插件的几种方式
- 小M开发_JS_day0713
- 协程的实现原理
- 类方法和对象方法的区别
- java 继承与组合
- 前端学习笔记-Gulp的使用