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
  • 相关阅读:
    类加载
    jquery框架概览(二)
    jquery框架概览(一)
    Angular开发者指南(七)依赖注入
    Angular开发者指南(六)作用域
    Angular开发者指南(五)服务
    Angular开发者指南(四)控制器
    Angular开发者指南(三)数据绑定
    Angular开发者指南(二)概念概述
    Angular开发者指南(一)入门介绍
  • 原文地址:https://www.cnblogs.com/zby9527/p/14171804.html
Copyright © 2011-2022 走看看