zoukankan      html  css  js  c++  java
  • DriverManager初始化的日志怎么打印?

    现状

    • 加载DriverManager的时候,logWriter==null
    • 首先执行静态代码块
    • 静态代码块会打印日志
      #

    问题

    • 如何在类加载前设置logWriter?????

    方案一

    • 以下代码放在第一行
    DriverManager.setLogWriter(new PrintWriter(System.out));
    
    • 后续的日志能打印,初始化日志还是不能打印

    方案二

    • 写个Driver
    package com.zby.driver;
    
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.Driver;
    import java.sql.DriverManager;
    import java.sql.DriverPropertyInfo;
    import java.sql.SQLException;
    import java.sql.SQLFeatureNotSupportedException;
    import java.util.Properties;
    import java.util.logging.Logger;
    
    public class LogDriver implements Driver {
    
    	static {
    		DriverManager.setLogWriter(new PrintWriter(System.out));
    	}
    
    	@Override
    	public Connection connect(String url, Properties info) throws SQLException {
    		return null;
    	}
    
    	@Override
    	public boolean acceptsURL(String url) throws SQLException {
    		return false;
    	}
    
    	@Override
    	public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {
    		return null;
    	}
    
    	@Override
    	public int getMajorVersion() {
    		return 0;
    	}
    
    	@Override
    	public int getMinorVersion() {
    		return 0;
    	}
    
    	@Override
    	public boolean jdbcCompliant() {
    		return false;
    	}
    
    	@Override
    	public Logger getParentLogger() throws SQLFeatureNotSupportedException {
    		return null;
    	}
    
    }
    
    
    • 创建META-INF/services/java.sql.Driver文件,写入内容com.zby.driver.LogDriver
  • 相关阅读:
    Appium安装教程
    方法(method)和函数(function)有什么区别?
    FTP两种工作模式:主动模式(Active FTP)和被动模式介绍
    python socket编程介绍
    面向对象基础篇
    python fishc.homework2
    python遇到的问题汇总
    我对 python 面向对象的理解
    深入理解JVM(五)JVM优化策略
    深入理解JVM(四)JVM性能监控与故障处理工具
  • 原文地址:https://www.cnblogs.com/zby9527/p/14171804.html
Copyright © 2011-2022 走看看