`
lushuaiyin
  • 浏览: 675623 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

log4j 将日志填入数据库(可填多个字段)

 
阅读更多

表结构

create table theone(

ID varchar(100),
USERID varchar(100),
LOGONTIME varchar(100),
LOGONIP varchar(100),
LOGONHOST varchar(100)

);

//mylog.properties文件(d盘下要有log.log,error.log)

### set log levels ERROR、WARN、INFO、DEBUG ###
log4j.rootLogger = INFO,stdout,D,E,DATABASE

### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n


### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.FileAppender
log4j.appender.D.File = d://log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern =%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n


### 保存异常信息到单独文件 ###
log4j.appender.E = org.apache.log4j.FileAppender
log4j.appender.E.File = d://error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
# 用于数据库#
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:oracle:thin:@127.0.0.1:1521:orcl
log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver
#log4j.appender.database.dbclass=oracle.jdbc.driver.OracleDriver#
log4j.appender.DATABASE.user=scott
log4j.appender.DATABASE.password=tiger
log4j.appender.DATABASE.sql=INSERT INTO theone(ID,USERID,LOGONTIME,LOGONIP,LOGONHOST,SYSTEMSOURCE) VALUES ('%X{ID}','%X{USERID}','%X{LOGONTIME}','%X{LOGONIP}','%X{LOGONHOST}','%m')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n


//记录信息类

package xmltest;

public class MessBean {
private String id;
private String userid;
private String logontime;
private String logonip;
private String logonhost;
private String systemsource;


public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getLogontime() {
return logontime;
}
public void setLogontime(String logontime) {
this.logontime = logontime;
}
public String getLogonip() {
return logonip;
}
public void setLogonip(String logonip) {
this.logonip = logonip;
}
public String getLogonhost() {
return logonhost;
}
public void setLogonhost(String logonhost) {
this.logonhost = logonhost;
}
public String getSystemsource() {
return systemsource;
}
public void setSystemsource(String systemsource) {
this.systemsource = systemsource;
}

}

//操作工具类

package xmltest;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.log4j.MDC;

public class MessUtil {

public MessUtil(){}

public static MessBean getMessBean(String id, String userid,String logonip,
String logonhost){
MessBean mess=new MessBean();

mess.setId(userid);
mess.setLogonhost(logonhost);
mess.setLogonip(logonip);

Date dt=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
mess.setLogontime(sdf.format(dt));

mess.setUserid(userid);

return mess;
}
public static void getMDC(MessBean mess){
MDC.put("ID", mess.getId());
MDC.put("USERID", mess.getUserid());
MDC.put("LOGONTIME", mess.getLogontime());
MDC.put("LOGONIP", mess.getLogonip());
MDC.put("LOGONHOST", mess.getLogonhost());
}

}

//测试类

package xmltest;

import org.apache.log4j.Logger;
import org.apache.log4j.MDC;
import org.apache.log4j.Priority;
import org.apache.log4j.PropertyConfigurator;

public class LogTest {
static Logger logger = Logger.getLogger(LogTest.class.getName());

public static void main(String[] args) {
String path=LogTest.class.getResource("/").getPath();
System.out.println(path+"mylog.properties");
PropertyConfigurator.configure(path+"mylog.properties");

MessBean mm=MessUtil.getMessBean("001", "333", "121212", "127");
MessUtil.getMDC(mm);
logger.info("here 333");//记录到SYSTEMSOURCE字段中

MessBean mm2=MessUtil.getMessBean("002", "222", "343434", "128");
MessUtil.getMDC(mm2);
logger.info("here mmm");

//MDC.put("ID", "001");
//MDC.put("USERID", "333");
//MDC.put("LOGONTIME", "121212");
//MDC.put("LOGONIP", "127");
//MDC.put("LOGONHOST", "168");

//PropertyConfigurator.configure("d://mylog.properties");
//logger.log("INFO", Priority.INFO, "hereu111", null);

//logger.info("here 333");
}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics