您的位置:首页 > 数据库

打开sql server jdbc的日志功能的方法

2016-07-08 00:00 330 查看
sql server jdbc是通过log4j来进行写日志的。可以通过针对log4j的配置来打开sql server jdbc的日志,首先编写log4j.properites的配置文件,此配置文件的内容如下所示:

log4j.rootLogger=error, ServerDailyRollingFile, stdout
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
log4j.appender.ServerDailyRollingFile.File=C://logs/notify-subscription.log
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
log4j.appender.ServerDailyRollingFile.Append=true

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] %m%n

经过上面的配置,日志应该写到File指定的文件中,但是实际并没有写到这个文件中去。于是在网上找了下原因,在main函数的入口处增加了如下的代码:

PropertyConfigurator.configure("log4j.properites");
Handler fh;
try {
fh = new FileHandler("./jdbc_log.log");
fh.setLevel(Level.ALL);
fh.setFormatter(new SimpleFormatter());
Logger.getLogger("").addHandler(fh);
Logger.getLogger("").setLevel(Level.ALL);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

再次运行就可以把日志写到jdbc_log.log文件中了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: