log4j.properties我这么写的:
log4j.rootLogger=INFO,A1log4j.appender.A1=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A1.BufferSize=40
log4j.appender.A1.Driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
log4j.appender.A1.URL=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SupplierBalance
log4j.appedner.A1.User=sa
log4j.appedner.A1.password=dsd_dsdn
/*----------------------------------------
log4j.appender.A1.layout=test.TestJDBCLayout/*--------TestJDBCLayout-----
public class TestJDBCLayout extends Layout {
public String format(LoggingEvent event) {
//layout由你自己拼
String layout="insert into ctest (name) values ('"+ event.getMessage() +"')";
return layout;
} public boolean ignoresThrowable() {
return false; //To change body of implemented methods use File | Settings | File Templates.
} public void activateOptions() {
//To change body of implemented methods use File | Settings | File Templates.
}
}
log4j.rootLogger=INFO,A1log4j.appender.A1=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A1.BufferSize=40
log4j.appender.A1.Driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
log4j.appender.A1.URL=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SupplierBalance
log4j.appedner.A1.User=sa
log4j.appedner.A1.password=dsd_dsdn
/*----------------------------------------
log4j.appender.A1.layout=test.TestJDBCLayout/*--------TestJDBCLayout-----
public class TestJDBCLayout extends Layout {
public String format(LoggingEvent event) {
//layout由你自己拼
String layout="insert into ctest (name) values ('"+ event.getMessage() +"')";
return layout;
} public boolean ignoresThrowable() {
return false; //To change body of implemented methods use File | Settings | File Templates.
} public void activateOptions() {
//To change body of implemented methods use File | Settings | File Templates.
}
}
解决方案 »
- jfreechart K线图如何修改提示,我想把提示中的日期去掉,请问用什么方法
- 请教!!java spring 的《墨攻》的例子
- weblogic启动报错
- 问题,关于myeclipse自动删除struts.xml
- struts中的<action>标签内的<set-property>如何使用?
- 500分,在繁體winxp系統下,如何在tomcat控制台下正確打印出從前台取來的簡體字,而不是亂碼。500分
- 在jb9中如何切换tomcat?
- TOMCAT5.0安装后,在运行这个服务的时候起不来?
- 请各位大虾帮忙看一下
- xml文件中指定编码有什么用???
- 请问怎样用会话bean查找部门实体bean里的所有部门名称(以一个LIST类型返回)?
- 如何实现动态调用EJB
改表结构或用数据库的一些内置函数
能够具体一点么?你的意思是表结构不对?就是在LOG4J这边不能进行控制么?
log4j.appedner.A1.layout.ConversionPattern=INSERT INTO BLOG(OH,OT,OM) values(sub('%m',0,4),getdate(),sub('%m',4))
改表结构的意思是把所有的log写到表的一个字段里。内置函数么比如类似于substring这样的,假设名字是sub:
log4j.appedner.A1.layout.ConversionPattern=INSERT INTO BLOG(OH,OT,OM) values(sub('%m',0,4),getdate(),sub('%m',4))--------------------------------------
谢谢您的回复先。呵呵这语句的意思是 : 把%m的前4个字符放到OH字段中,把%m后面的字符放到OM中去么?我这样做是不是就可以了?
log4j.appedner.A1.layout.ConversionPattern=INSERT INTO BLOG(OH,OT,OM) values(substring('%m',0,6),getdate(),substring('%m',6))//用户ID的位数都为固定的6位...然后我在输出的时候:logger.infor(userID+"message");
可以在库里存2个字段...
log4j.appedner.A1.layout.ConversionPattern=INSERT INTO BLOG(OH,OT,OM) values(substring('%m',0,6),getdate(),substring('%m',6,20))--------------------------------------
values(substring('%m',0,6),getdate(),substring('%m',6,20))这里的0,6 是说从第0个字符到第6个字符
6,20 是说从第6个字符到第20个字符如果谁有需要我就把配置的log文件发上来,大家一起学习...
log4j.rootLogger=INFO,A1log4j.appender.A1=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A1.BufferSize=40
log4j.appender.A1.Driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
log4j.appender.A1.URL=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SupplierBalance
log4j.appedner.A1.User=sa
log4j.appedner.A1.password=dsd_dsdn
/*----------------------------------------
log4j.appender.A1.layout=test.TestJDBCLayout/*--------TestJDBCLayout-----
public class TestJDBCLayout extends Layout {
public String format(LoggingEvent event) {
//layout由你自己拼
LogEntity entity = (LogEntity)enent.getMessage();
String layout="insert into ctest (logid,logmessage) values ("+entity.getLogId+"'"+ entity.getLogMessage +"')";
return layout;
} public boolean ignoresThrowable() {
return false; //To change body of implemented methods use File | Settings | File Templates.
} public void activateOptions() {
//To change body of implemented methods use File | Settings | File Templates.
}
}
public class LogEntity{
private long logid;
private String logmessage;
//get and set 方法不写了
}public class TestLog(){
public static void main( String args[]) {
LogEntity entity = new LogEntity();
entity.setLogid(10000);
entity.setLogMessage( "我要删数据了" ); Logger log = Logger.getLogger(TestLog.class);
log.info(entity);
}}
////////////----------------------------不知道这样能不能满足你的要求
log4j.rootLogger=INFO,A1log4j.appender.A1=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A1.BufferSize=40
log4j.appender.A1.Driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
log4j.appender.A1.URL=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SupplierBalance
log4j.appedner.A1.User=sa
log4j.appedner.A1.password=dsd_dsdn
/*----------------------------------------
log4j.appender.A1.layout=test.TestJDBCLayout/*--------TestJDBCLayout-----
public class TestJDBCLayout extends Layout {
public String format(LoggingEvent event) {
//layout由你自己拼
LogEntity entity = (LogEntity)enent.getMessage();
String layout="insert into ctest (logid,logmessage) values ("+entity.getLogId+"'"+ entity.getLogMessage +"')";
return layout;
} public boolean ignoresThrowable() {
return false; //To change body of implemented methods use File | Settings | File Templates.
} public void activateOptions() {
//To change body of implemented methods use File | Settings | File Templates.
}
}
public class LogEntity{
private long logid;
private String logmessage;
//get and set 方法不写了
}public class TestLog(){
public static void main( String args[]) {
LogEntity entity = new LogEntity();
entity.setLogid(10000);
entity.setLogMessage( "我要删数据了" ); Logger log = Logger.getLogger(TestLog.class);
log.info(entity);
}}
////////////----------------------------不知道这样能不能满足你的要求